Resultados de Elecciones
resultadosdeeleccioneswiki
https://resultadosdeelecciones.miraheze.org/wiki/P%C3%A1gina_principal
MediaWiki 1.40.2
first-letter
Medio
Especial
Discusión
Usuario
Usuario discusión
Resultados de Elecciones
Resultados de Elecciones discusión
Archivo
Archivo discusión
MediaWiki
MediaWiki discusión
Plantilla
Plantilla discusión
Ayuda
Ayuda discusión
Categoría
Categoría discusión
Módulo
Módulo discusión
Plantilla:!!
10
68
134
2010-03-20T22:13:44Z
Media Wiki>Tirithel
0
Plantilla renombrada. Actualizo plantilla protegida
wikitext
text/x-wiki
||<noinclude>{{documentación}}</noinclude>
fa66abbf21844b7820eb1a28196efe21a00d2cb4
Plantilla:Lista plegable
10
83
164
2014-12-17T18:59:59Z
Media Wiki>Metrónomo
0
Y una que es un clon...
wikitext
text/x-wiki
#REDIRECCIÓN [[Plantilla:Lista desplegable]]
6211429e305e2ed656bce3e64f1986cfeb898a7c
Módulo:No globals
828
59
116
2023-02-28T18:43:03Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:No globals]]»: Modulos muy usados ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' then
error('Trató de leer nil global ' .. tostring(k), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' then
--error('Trató de escribir global ' .. tostring(k), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)
3cb2d81d4ad299d3f4a8bf909f5ab862b5f2a70c
Módulo:Navbox
828
60
118
2023-02-28T18:43:04Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Navbox]]»: Modulos muy usados ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
--
-- This module implements {{Navbox}}
--
local p = {}
local navbar = require('Module:Navbar')._navbar
local getArgs -- lazily initialized
local args
local tableRowAdded = false
local border
local listnums = {}
local function trim(s)
return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1"))
end
local function addNewline(s)
if s:match('^[*:;#]') or s:match('^{|') then
return '\n' .. s ..'\n'
else
return s
end
end
local function addTableRow(tbl)
-- If any other rows have already been added, then we add a 2px gutter row.
if tableRowAdded then
tbl
:tag('tr')
:css('height', '2px')
:tag('td')
:attr('colspan',2)
end
tableRowAdded = true
return tbl:tag('tr')
end
local function renderNavBar(titleCell)
-- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left
-- or right to keep the title centered.
local spacerSide = nil
if args.navbar == 'off' then
-- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's
-- also no show/hide link, then we need a spacer on the right to achieve the left shift.
if args.state == 'plain' then spacerSide = 'right' end
elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then
-- No navbar. Need a spacer on the left to balance out the width of the show/hide link.
if args.state ~= 'plain' then spacerSide = 'left' end
else
-- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right
-- to balance out the width of the navbar.
if args.state == 'plain' then spacerSide = 'right' end
titleCell:wikitext(navbar{
args.name,
mini = 1,
fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;'
})
end
-- Render the spacer div.
if spacerSide then
titleCell
:tag('span')
:css('float', spacerSide)
:css('width', '6em')
:wikitext(' ')
end
end
--
-- Title row
--
local function renderTitleRow(tbl)
if not args.title then return end
local titleRow = addTableRow(tbl)
if args.titlegroup then
titleRow
:tag('th')
:attr('scope', 'row')
:addClass('navbox-group')
:addClass(args.titlegroupclass)
:cssText(args.basestyle)
:cssText(args.groupstyle)
:cssText(args.titlegroupstyle)
:wikitext(args.titlegroup)
end
local titleCell = titleRow:tag('th'):attr('scope', 'col')
if args.titlegroup then
titleCell
:css('border-left', '2px solid #fdfdfd')
:css('width', '100%')
end
local titleColspan = 2
if args.imageleft then titleColspan = titleColspan + 1 end
if args.image then titleColspan = titleColspan + 1 end
if args.titlegroup then titleColspan = titleColspan - 1 end
titleCell
:cssText(args.basestyle)
:cssText(args.titlestyle)
:addClass('navbox-title')
:attr('colspan', titleColspan)
renderNavBar(titleCell)
titleCell
:tag('div')
:attr('id', mw.uri.anchorEncode(args.title))
:addClass(args.titleclass)
:css('font-size', '114%')
:wikitext(addNewline(args.title))
end
--
-- Above/Below rows
--
local function getAboveBelowColspan()
local ret = 2
if args.imageleft then ret = ret + 1 end
if args.image then ret = ret + 1 end
return ret
end
local function renderAboveRow(tbl)
if not args.above then return end
addTableRow(tbl)
:tag('td')
:addClass('navbox-abovebelow')
:addClass(args.aboveclass)
:cssText(args.basestyle)
:cssText(args.abovestyle)
:attr('colspan', getAboveBelowColspan())
:tag('div')
:wikitext(addNewline(args.above))
end
local function renderBelowRow(tbl)
if not args.below then return end
addTableRow(tbl)
:tag('td')
:addClass('navbox-abovebelow')
:addClass(args.belowclass)
:cssText(args.basestyle)
:cssText(args.belowstyle)
:attr('colspan', getAboveBelowColspan())
:tag('div')
:wikitext(addNewline(args.below))
end
--
-- List rows
--
local function renderListRow(tbl, listnum)
local row = addTableRow(tbl)
if listnum == 1 and args.imageleft then
row
:tag('td')
:addClass('navbox-image')
:addClass(args.imageclass)
:css('width', '0%')
:css('padding', '0px 2px 0px 0px')
:cssText(args.imageleftstyle)
:attr('rowspan', 2 * #listnums - 1)
:tag('div')
:wikitext(addNewline(args.imageleft))
end
if args['group' .. listnum] then
local groupCell = row:tag('th')
groupCell
:attr('scope', 'row')
:addClass('navbox-group')
:addClass(args.groupclass)
:cssText(args.basestyle)
if args.groupwidth then
groupCell:css('width', args.groupwidth)
end
groupCell
:cssText(args.groupstyle)
:cssText(args['group' .. listnum .. 'style'])
:wikitext(args['group' .. listnum])
end
local listCell = row:tag('td')
if args['group' .. listnum] then
listCell
:css('text-align', 'left')
:css('border-left-width', '2px')
:css('border-left-style', 'solid')
else
listCell:attr('colspan', 2)
end
if not args.groupwidth then
listCell:css('width', '100%')
end
local isOdd = (listnum % 2) == 1
local rowstyle = args.evenstyle
if isOdd then rowstyle = args.oddstyle end
local evenOdd
if args.evenodd == 'swap' then
if isOdd then evenOdd = 'even' else evenOdd = 'odd' end
else
if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end
end
listCell
:css('padding', '0px')
:cssText(args.liststyle)
:cssText(rowstyle)
:cssText(args['list' .. listnum .. 'style'])
:addClass('navbox-list')
:addClass('navbox-' .. evenOdd)
:addClass(args.listclass)
:tag('div')
:css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
:wikitext(addNewline(args['list' .. listnum]))
if listnum == 1 and args.image then
row
:tag('td')
:addClass('navbox-image')
:addClass(args.imageclass)
:css('width', '0%')
:css('padding', '0px 0px 0px 2px')
:cssText(args.imagestyle)
:attr('rowspan', 2 * #listnums - 1)
:tag('div')
:wikitext(addNewline(args.image))
end
end
--
-- Tracking categories
--
local function needsHorizontalLists()
if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end
local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'}
for i, cls in ipairs(listClasses) do
if args.listclass == cls or args.bodyclass == cls then
return false
end
end
return true
end
local function hasBackgroundColors()
return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background')
end
local function isIllegible()
local styleratio = require('Module:Color contrast')._styleratio
for key, style in pairs(args) do
if tostring(key):match("style$") then
if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then
return true
end
end
end
return false
end
local function getTrackingCategories()
local cats = {}
if needsHorizontalLists() then table.insert(cats, 'Wikipedia:Plantillas de navegación sin listas horizontales') end
if hasBackgroundColors() then table.insert(cats, 'Wikipedia:Plantillas de navegación con colores de fondo') end
if isIllegible() then table.insert(cats, 'Wikipedia:Plantillas de navegación potencialmente ilegibles') end
return cats
end
local function renderTrackingCategories(builder)
local title = mw.title.getCurrentTitle()
if title.namespace ~= 10 then return end -- not in template space
if title.namespace ~= 14 then return end -- en Wikipedia en español usamos mucho esta plantilla en las categorías y genera errores por culpa de este parámetro
local subpage = title.subpageText
if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end
for i, cat in ipairs(getTrackingCategories()) do
builder:wikitext('[[Category:' .. cat .. ']]')
end
end
--
-- Main navbox tables
--
local function renderMainTable()
local tbl = mw.html.create('table')
:addClass(args.bodyclass)
if args.title and (args.state ~= 'plain' and args.state ~= 'off') then
tbl
:addClass('collapsible')
:addClass(args.state or 'autocollapse')
end
tbl:css('border-spacing', 0)
if border == 'subgroup' or border == 'child' or border == 'none' then
tbl
:addClass('navbox-subgroup')
:cssText(args.bodystyle)
:cssText(args.style)
else -- regular navobx - bodystyle and style will be applied to the wrapper table
tbl
:addClass('navbox-inner')
:css('background', 'transparent')
:css('color', 'inherit')
end
tbl:cssText(args.innerstyle)
renderTitleRow(tbl)
renderAboveRow(tbl)
for i, listnum in ipairs(listnums) do
renderListRow(tbl, listnum)
end
renderBelowRow(tbl)
return tbl
end
function p._navbox(navboxArgs)
args = navboxArgs
for k, v in pairs(args) do
local listnum = ('' .. k):match('^list(%d+)$')
if listnum then table.insert(listnums, tonumber(listnum)) end
end
table.sort(listnums)
border = trim(args.border or args[1] or '')
-- render the main body of the navbox
local tbl = renderMainTable()
-- render the appropriate wrapper around the navbox, depending on the border param
local res = mw.html.create()
if border == 'none' then
local nav = res:tag('div')
:attr('role', 'navigation')
:node(tbl)
if args.title then
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title))
else
nav:attr('aria-label', 'Navbox')
end
elseif border == 'subgroup' or border == 'child' then
-- We assume that this navbox is being rendered in a list cell of a parent navbox, and is
-- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the
-- padding being applied, and at the end add a <div> to balance out the parent's </div>
res
:wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html.
:node(tbl)
:wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html.
else
local nav = res:tag('div')
:attr('role', 'navigation')
:addClass('navbox')
:cssText(args.bodystyle)
:cssText(args.style)
:css('padding', '3px')
:node(tbl)
if args.title then
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title))
else
nav:attr('aria-label', 'Navbox')
end
end
renderTrackingCategories(res)
return tostring(res)
end
function p.navbox(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
args = getArgs(frame, {wrappers = 'Template:Navbox'})
-- Read the arguments in the order they'll be output in, to make references number in the right order.
local _
_ = args.title
_ = args.above
for i = 1, 20 do
_ = args["group" .. tostring(i)]
_ = args["list" .. tostring(i)]
end
_ = args.below
return p._navbox(args)
end
return p
e31d45fcca619ea5f21f57cae01ac0501c7eb4ea
Módulo:Navbar
828
61
120
2023-02-28T18:43:04Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Navbar]]»: Modulos muy usados ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
local p = {}
local cfg = mw.loadData('Módulo:Navbar/configuración')
local function get_title_arg(is_collapsible, template)
local title_arg = 1
if is_collapsible then title_arg = 2 end
if template then title_arg = 'template' end
return title_arg
end
local function choose_links(template, args)
-- The show table indicates the default displayed items.
-- view, talk, edit, hist, move, watch
-- TODO: Move to configuration.
local show = {true, true, true, false, false, false}
if template then
show[2] = false
show[3] = false
local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6,
talk = 2, edit = 3, hist = 4, move = 5, watch = 6}
-- TODO: Consider removing TableTools dependency.
for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do
local num = index[v]
if num then show[num] = true end
end
end
local remove_edit_link = args.noedit
if remove_edit_link then show[3] = false end
return show
end
local function add_link(link_description, ul, is_mini, font_style)
local l
if link_description.url then
l = {'[', '', ']'}
else
l = {'[[', '|', ']]'}
end
ul:tag('li')
:addClass('nv-' .. link_description.full)
:wikitext(l[1] .. link_description.link .. l[2])
:tag(is_mini and 'abbr' or 'span')
:attr('title', link_description.html_title)
:cssText(font_style)
:wikitext(is_mini and link_description.mini or link_description.full)
:done()
:wikitext(l[3])
:done()
end
local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style)
local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace)
if not title then
-- error(cfg.invalid_title .. title_text) -- diferente a en la Wikipedia inglesa
return
end
local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''
-- TODO: Get link_descriptions and show into the configuration module.
-- link_descriptions should be easier...
local link_descriptions = {
{ ['mini'] = 'v', ['full'] = 'ver', ['html_title'] = 'Ver esta plantilla',
['link'] = title.fullText, ['url'] = false },
{ ['mini'] = 't', ['full'] = 'discusión', ['html_title'] = 'Conversar sobre esta plantilla',
['link'] = talkpage, ['url'] = false },
{ ['mini'] = 'e', ['full'] = 'editar', ['html_title'] = 'Editar esta plantilla',
['link'] = title:fullUrl('action=edit'), ['url'] = true },
{ ['mini'] = 'h', ['full'] = 'historial', ['html_title'] = 'Historial de esta plantilla',
['link'] = title:fullUrl('action=history'), ['url'] = true },
{ ['mini'] = 'm', ['full'] = 'trasladar', ['html_title'] = 'Trasladar esta plantilla',
['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true },
{ ['mini'] = 'w', ['full'] = 'vigilar', ['html_title'] = 'Vigilar esta plantiilla',
['link'] = title:fullUrl('action=watch'), ['url'] = true }
}
local ul = mw.html.create('ul')
if has_brackets then
ul:addClass(cfg.classes.brackets)
:cssText(font_style)
end
for i, _ in ipairs(displayed_links) do
if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end
end
return ul:done()
end
function p._navbar(args)
-- TODO: We probably don't need both fontstyle and fontcolor...
local font_style = args.fontstyle
local font_color = args.fontcolor
local is_collapsible = args.collapsible
local is_mini = args.mini
local is_plain = args.plain
local collapsible_class = nil
if is_collapsible then
collapsible_class = cfg.classes.collapsible
if not is_plain then is_mini = 1 end
if font_color then
font_style = (font_style or '') .. '; color: ' .. font_color .. ';'
end
end
local navbar_style = args.style
local div = mw.html.create():tag('div')
div
:addClass(cfg.classes.navbar)
:addClass(cfg.classes.plainlinks)
:addClass(cfg.classes.horizontal_list)
:addClass(collapsible_class) -- we made the determination earlier
:cssText(navbar_style)
if is_mini then div:addClass(cfg.classes.mini) end
local box_text = (args.text or cfg.box_text) .. ' '
-- the concatenated space guarantees the box text is separated
if not (is_mini or is_plain) then
div
:tag('span')
:addClass(cfg.classes.box_text)
:cssText(font_style)
:wikitext(box_text)
end
local template = args.template
local displayed_links = choose_links(template, args)
local has_brackets = args.brackets
local title_arg = get_title_arg(is_collapsible, template)
local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style)
div:node(list)
if is_collapsible then
local title_text_class
if is_mini then
title_text_class = cfg.classes.collapsible_title_mini
else
title_text_class = cfg.classes.collapsible_title_full
end
div:done()
:tag('div')
:addClass(title_text_class)
:cssText(font_style)
:wikitext(args[1])
end
return mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = cfg.templatestyles }
} .. tostring(div:done())
end
function p.navbar(frame)
return p._navbar(require('Módulo:Arguments').getArgs(frame))
end
return p
85180ce6a927dafd6602fc8df1ff372b2ad34a68
Módulo:Navbar/configuración
828
62
122
2023-02-28T18:43:06Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Navbar/configuración]]»: Modulos muy usados ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
local configuration = {
['templatestyles'] = 'Module:Navbar/styles.css',
['box_text'] = 'Esta plantilla: ', -- default text box when not plain or mini
['title_namespace'] = 'Template', -- namespace to default to for title
['invalid_title'] = 'Invalid title ',
['classes'] = { -- set a line to nil if you don't want it
['navbar'] = 'navbar',
['plainlinks'] = 'plainlinks', -- plainlinks
['horizontal_list'] = 'hlist', -- horizontal list class
['mini'] = 'navbar-mini', -- class indicating small links in the navbar
['this_box'] = 'navbar-boxtext',
['brackets'] = 'navbar-brackets',
-- 'collapsible' is the key for a class to indicate the navbar is
-- setting up the collapsible element in addition to the normal
-- navbar.
['collapsible'] = 'navbar-collapse',
['collapsible_title_mini'] = 'navbar-ct-mini',
['collapsible_title_full'] = 'navbar-ct-full'
}
}
return configuration
cab0c84a2f90a71d11170bb5aa32c54160df3345
Módulo:Tablas
828
42
82
2023-02-28T18:53:24Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Tablas]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
local z = {}
-- Código copiado de http://lua-users.org/wiki/SortedIteration
function __genOrderedIndex( t )
local orderedIndex = {}
for key in pairs(t) do
table.insert( orderedIndex, key )
end
table.sort( orderedIndex )
return orderedIndex
end
function orderedNext(t, state)
-- Equivalent of the next function, but returns the keys in the alphabetic
-- order. We use a temporary ordered key table that is stored in the
-- table being iterated.
local key = nil
--print("orderedNext: state = "..tostring(state) )
if state == nil then
-- the first time, generate the index
t.__orderedIndex = __genOrderedIndex( t )
key = t.__orderedIndex[1]
else
-- fetch the next value
for i = 1,table.getn(t.__orderedIndex) do
if t.__orderedIndex[i] == state then
key = t.__orderedIndex[i+1]
end
end
end
if key then
return key, t[key]
end
-- no more value to return, cleanup
t.__orderedIndex = nil
return
end
function orderedPairs(t)
-- Equivalent of the pairs() function on tables. Allows to iterate
-- in order
return orderedNext, t, nil
end
function z.tostringordered(tabla, identacion)
identacion = identacion or '\n'
local identacion2 = identacion .. ' '
if not tabla then
return
end
local valores = {}
local k2, v2
for k,v in orderedPairs(tabla) do
if type(k) == 'string' then
k2 = '"' .. k .. '"'
else
k2 = k
end
if type(v) == 'table' then
v2 = z.tostringordered(v, identacion2)
elseif type(v)=='string' then
v2 = '"' .. v .. '"'
else
v2 = tostring(v)
end
table.insert(valores, '[' .. k2 .. '] = ' .. v2)
end
return '{' .. identacion2 .. (table.concat(valores, ', ' .. identacion2) or '') .. identacion .. '}'
end
function z.tostring(tabla, identacion)
identacion = identacion or '\n'
local identacion2 = identacion .. ' '
if not tabla then
return
end
local valores = {}
local k2, v2
for k,v in pairs(tabla) do
if type(k) == 'string' then
k2 = '"' .. k .. '"'
else
k2 = k
end
if type(v) == 'table' then
v2 = z.tostring(v, identacion2)
elseif type(v)=='string' then
v2 = '"' .. v .. '"'
else
v2 = tostring(v)
end
table.insert(valores, '[' .. k2 .. '] = ' .. v2)
end
return '{' .. identacion2 .. (table.concat(valores, ', ' .. identacion2) or '') .. identacion .. '}'
end
function z.elemento(tabla, indice1, indice2, indice3, indice4, indice5, indice6, indice7)
local resultado
if not tabla or not indice1 then
return
end
resultado = tabla[indice1]
if not indice2 or not resultado then
return resultado
end
resultado = resultado[indice2]
if not indice3 or not resultado then
return resultado
end
resultado = resultado[indice3]
if not indice4 or not resultado then
return resultado
end
resultado = resultado[indice4]
if not indice5 or not resultado then
return resultado
end
resultado = resultado[indice5]
if not indice6 or not resultado then
return resultado
end
resultado = resultado[indice6]
if not indice7 or not resultado then
return resultado
end
resultado = resultado[indice7]
return resultado
end
function z.en(tabla, elemento)
if not elemento then
return
end
for k,v in pairs( tabla ) do
if v == elemento then
return k
end
end
end
function z.copiarElementosConValor(original)
local copia= {}
for k,v in pairs(original) do
if v~='' then
copia[k] = original[k]
end
end
return copia
end
function z.insertar(tabla, elemento)
if not elemento then
return false
end
if not z.en(tabla, elemento) then
table.insert(tabla, elemento)
end
return true
end
function z.insertarElementosConValor(origen, destino)
for k,v in pairs(origen) do
if v~='' then
table.insert(destino, v)
end
end
return copia
end
function z.sonIguales(tabla1, tabla2)
if not tabla1 or not tabla2 then
return false
end
if tabla1 == tabla2 then
return true
end
for k,v in pairs(tabla1) do
if tabla2[k] ~= v then
return false
end
end
for k,v in pairs(tabla2) do
if not tabla1[k] then
return false
end
end
return true
end
function z.ordenarFuncion(tabla, funcion)
local funcionInestable = funcion
-- Añadir a la tabla un campo con el orden
for i,n in ipairs(tabla) do tabla[i].__orden = i end
table.sort(tabla,
function(a,b)
if funcionInestable(a, b) then return true -- a < b
elseif funcionInestable(b, a) then return false -- b < a
elseif a.__orden < b.__orden then return true -- a = b y a aparece antes que b
else return false -- a = b y b aparece antes que a
end
end
)
-- Eliminar de la tabla el campo con el orden
for i,n in ipairs(tabla) do tabla[i].__orden = nil end
end
function z.ordenar(tabla, criterio)
if type(criterio) == 'table' then
z.ordenarFuncion(tabla,
function(a,b)
local valorA, valorB
for i,campo in ipairs(criterio) do
valorA = a[campo]
valorB = b[campo]
if not valorA and not valorA then
-- No hacer nada
elseif not valorA and valorB then
return true
elseif valorA and not valorB then
return false
elseif valorA < valorB then
return true
elseif valorA > valorB then
return false
end
end
return false -- Todos los valores son iguales
end
)
else
z.ordenarFuncion(tabla, criterio)
end
end
function z.agrupar(tabla, clave, campo)
local tabla2 = {}
local v2
for k,v in ipairs(tabla) do
if not v[campo] then
table.insert(tabla2, v)
v2 = nil
elseif v2 and v2[clave] == v[clave] then
-- Agrupar
table.insert(v2[campo], v[campo])
else
v2 = v
v2[campo] = {v[campo]}
table.insert(tabla2, v2)
end
end
return tabla2
end
return z
3b337fe23c3261ac5318410bc4e3072b9514fddf
Módulo:Wikidata/modulosTipos
828
89
176
2023-02-28T18:53:25Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Wikidata/modulosTipos]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
return {
['altura'] = 'Módulo:Wikidata/Formato magnitud',
['área'] = 'Módulo:Wikidata/Formato magnitud',
['bandera'] = 'Módulo:Wikidata/Formatos país',
['educado en'] = 'Módulo:Wikidata/Formatos educación',
['imagen'] = 'Módulo:Wikidata/Formato imagen',
['lugar'] = 'Módulo:Wikidata/Formato lugar',
['formatoLugar']= 'Módulo:Wikidata/Formato lugar',
['magnitud'] = 'Módulo:Wikidata/Formato magnitud',
['movimiento'] = 'Módulo:Wikidata/Formato movimiento',
['periodicidad']= 'Módulo:Wikidata/Formato magnitud',
['premio'] = 'Módulo:Wikidata/Formato premio',
}
1e116b09ae75ecd589f3aa21209e6ef4e6d15f9e
Módulo:Wikidata/mensajes
828
88
174
2023-02-28T18:53:26Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Wikidata/mensajes]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
return {
["errores"] = {
["property-param-not-provided"] = "Parámetro de la propiedad no proporcionado.",
["entity-not-found"] = "Entrada no encontrada.",
["unknown-claim-type"] = "Tipo de notificación desconocida.",
["unknown-snak-type"] = "Tipo de dato desconocido.",
["unknown-datavalue-type"] = "Formato de dato desconocido.",
["unknown-entity-type"] = "Tipo de entrada desconocido.",
["unknown-value-module"] = "Debe ajustar ambos parámetros de valor y el svalor del módulo de funciones.",
["value-module-not-found"] = "No se ha encontrado el módulo apuntado por valor-módulo.",
["value-function-not-found"] = "No se ha encontrado la función apuntada por valor-función.",
["other entity"] = "Enlaces a elementos diferentes desactivado."
},
["somevalue"] = "''valor desconocido''",
["novalue"] = ""
}
44b4f9ac40eee3d4a9ad31ffac217e368f652354
Módulo:String
828
44
86
2023-02-28T18:53:30Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:String]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
--[[
Este módulo está destinado a proporcionar acceso a las funciones de cadena (string) básicas.
]]
local str = {}
--[[
len
Parametros
s: La cadena a encontrar su longitud
]]
function str.len( frame )
local new_args = str._getParameters( frame.args, {'s'} );
local s = new_args['s'] or '';
return mw.ustring.len( s )
end
--[[
sub
Parametros
s: La cadena donde extraer la subcadena
i: La cadena donde extraer la subcadena.
j: Índice final de la subcadena, por defecto la longitud total, hasta el último carácter.
]]
function str.sub( frame )
local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } );
local s = new_args['s'] or '';
local i = tonumber( new_args['i'] ) or 1;
local j = tonumber( new_args['j'] ) or -1;
local len = mw.ustring.len( s );
-- Convertir negativos para la comprobación de rango
if i < 0 then
i = len + i + 1;
end
if j < 0 then
j = len + j + 1;
end
if i > len or j > len or i < 1 or j < 1 then
return str._error( 'Índice fuera del rango de la cadena' );
end
if j < i then
return str._error( 'Índices de la cadena no ordenados' );
end
return mw.ustring.sub( s, i, j )
end
--[[
match
Parametros
s: cadena donde se hace la búsqueda
pattern: patrón o cadena a buscar.
start: índice de la cadena dónde empezar a buscar, por defecto 1, el primer carácter.
match: si se encuentran múltiples coincidencias, especifica cuál de ellas devolver. Por defecto es 1, l
la primera coincidencia encontrada. Un número negativo cuenta desde el final, por lo tanto
match = -1 es la última coincidencia.
plain: indica si el patrón debe interpretarse como texto limpio, por defecto 'false'. nomatch: en caso de
no encontrar ninguna coincidencia, devuelve el valor de "nomatch" en lugar de un error.
Si el número match o el índice start están fuera del rango de la cadena, entonces la función genera un error.
También genera un error si no encuentra ninguna coincidencia.
Con el parámetro global ignore_errors = true se suprime el
error y devuelve una cadena vacía.
]]
function str.match( frame )
local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} );
local s = new_args['s'] or '';
local start = tonumber( new_args['start'] ) or 1;
local plain_flag = str._getBoolean( new_args['plain'] or false );
local pattern = new_args['pattern'] or '';
local match_index = math.floor( tonumber(new_args['match']) or 1 );
local nomatch = new_args['nomatch'];
if s == '' then
return str._error( 'La cadena donde buscar está vacía' );
end
if pattern == '' then
return str._error( 'La cadena de búsqueda está vacía ' );
end
if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then
return str._error( 'Índice d\'inicio fuera del rango de la cadena ' );
end
if match_index == 0 then
return str._error( 'Número de coincidencias fuera de rango' );
end
if plain_flag then
pattern = str._escapePattern( pattern );
end
local result
if match_index == 1 then
-- Encontrar la primera coincidencia es un caso sencillo.
result = mw.ustring.match( s, pattern, start )
else
if start > 1 then
s = mw.ustring.sub( s, start );
end
local iterator = mw.ustring.gmatch(s, pattern);
if match_index > 0 then
-- Búsqueda hacia adelante
for w in iterator do
match_index = match_index - 1;
if match_index == 0 then
result = w;
break;
end
end
else
-- Invierte búsqueda
local result_table = {};
local count = 1;
for w in iterator do
result_table[count] = w;
count = count + 1;
end
result = result_table[ count + match_index ];
end
end
if result == nil then
if nomatch == nil then
return str._error( 'Ninguna coincidencia encontrada' );
else
return nomatch;
end
else
return result;
end
end
--[[
pos
Parámetros
target: Cadena donde buscar.
pos: Índice del carácter a devolver.
]]
function str.pos( frame )
local new_args = str._getParameters( frame.args, {'target', 'pos'} );
local target_str = new_args['target'] or '';
local pos = tonumber( new_args['pos'] ) or 0;
if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then
return str._error( 'Índice fuera del rango de la cadena' );
end
return mw.ustring.sub( target_str, pos, pos );
end
--[[
find
Parametros
source: Cadena donde buscar.
target: Cadena a buscar o patrón de búsqueda.
start: Índice de la cadena fuente donde empezar a buscar, por defecto 1, el primer carácter.
plain: Indica si la búsqueda debe interpretarse como texto limpio, de lo contrario como patrón Lua.
Por defecto es 'true'.
]]
function str.find( frame )
local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } );
local source_str = new_args['source'] or '';
local pattern = new_args['target'] or '';
local start_pos = tonumber(new_args['start']) or 1;
local plain = new_args['plain'] or true;
if source_str == '' or pattern == '' then
return 0;
end
plain = str._getBoolean( plain );
local start = mw.ustring.find( source_str, pattern, start_pos, plain )
if start == nil then
start = 0
end
return start
end
--[[
replace
Parámetros
source: Cadena donde buscar
pattern: Cadena de búsqueda o patrón a buscar
replace: Texto de reemplazo
count: Número de ocurrencias a reemplazar, por defecto todas.
plain: Indica si la búsqueda debe interpretarse como texto limpio, de lo contrario como patrón Lua. Por
defecto es 'true'
]]
function str.replace( frame )
local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } );
local source_str = new_args['source'] or '';
local pattern = new_args['pattern'] or '';
local replace = new_args['replace'] or '';
local count = tonumber( new_args['count'] );
local plain = new_args['plain'] or true;
if source_str == '' or pattern == '' then
return source_str;
end
plain = str._getBoolean( plain );
if plain then
pattern = str._escapePattern( pattern );
replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Sólo es necesario secuencias de escape.
end
local result;
if count ~= nil then
result = mw.ustring.gsub( source_str, pattern, replace, count );
else
result = mw.ustring.gsub( source_str, pattern, replace );
end
return result;
end
function str.mayuscula(frame) -- Convierte en mayúsculas la primera letra que aparece en la edición de una cadena
local s = frame.args[1] or '';
if s ~= '' then
local cambio = {};
local modo = {};
if string.find(s, '|') ~= nil then -- Enlaces con etiqueta
modo = string.upper(string.match(s,'(|%a)'));
cambio = string.gsub(s,'|%a', modo,1);
elseif string.find(s, '[[]') ~= nil then -- Enlaces sin etiqueta
modo = string.upper(string.match(s,'^(..%a)'));
cambio = string.gsub(s,'^..%a', modo,1);
elseif string.match(s,'^%a') ~= nil then -- Sin enlace
modo = string.upper(string.match(s,'^(%a)'));
cambio = string.gsub(s,'^%a', modo, 1);
else
cambio = s;
end
return cambio;
end
end
--[[
Función de ayuda que rellena la lista de argumentos, para que el usuario pueda utilizar una combinación de
parámetros con nombre y sin nombre. Esto es importante porque los parámetros con nombre no funcionan igual
que los parámetros sin nombre cuando se encadenan recortes, y cuando se trata de cadenas
a veces se debe conservar o quitar espacios en blanco dependiendo de la aplicación.
]]
function str._getParameters( frame_args, arg_list )
local new_args = {};
local index = 1;
local value;
for i,arg in ipairs( arg_list ) do
value = frame_args[arg]
if value == nil then
value = frame_args[index];
index = index + 1;
end
new_args[arg] = value;
end
return new_args;
end
--[[
Función de ayuda para controlar los mensajes de error.
]]
function str._error( error_str )
local frame = mw.getCurrentFrame();
local error_category = frame.args.error_category or 'Errores detectados por el módulo String';
local ignore_errors = frame.args.ignore_errors or false;
local no_category = frame.args.no_category or false;
if str._getBoolean(ignore_errors) then
return '';
end
local error_str = '<strong class="error">Error del módulo String: ' .. error_str .. '</strong>';
if error_category ~= '' and not str._getBoolean( no_category ) then
error_str = '[[Categoría:Wikipedia:' .. error_category .. ']]' .. error_str;
end
return error_str;
end
--[[
Función de ayuda para interpretar cadenas booleanas.
]]
function str._getBoolean( boolean_str )
local boolean_value;
if type( boolean_str ) == 'string' then
boolean_str = boolean_str:lower();
if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0'
or boolean_str == '' then
boolean_value = false;
else
boolean_value = true;
end
elseif type( boolean_str ) == 'boolean' then
boolean_value = boolean_str;
else
error( 'Ningún valor booleano encontrado' );
end
return boolean_value
end
--[[
Función de ayuda que escapa a todos los caracteres de patrón para que puedan ser tratados
como texto sin formato.
]]
function str._escapePattern( pattern_str )
return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" );
end
return str
0b577d3d9638fbf3d4aec745dd55db4390087b7c
Módulo:Identificadores
828
55
108
2023-02-28T18:53:30Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Identificadores]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
local p = {}
--[[
ISBN-10 and ISSN validator code calculates checksum across all isbn/issn digits including the check digit. ISBN-13 is checked in checkisbn().
If the number is valid the result will be 0. Before calling this function, issbn/issn must be checked for length and stripped of dashes,
spaces and other non-isxn characters.
]]
-- Función traída de en:Module:Citation/CS1
function p.esValidoISXN (isxn_str, len)
local temp = 0;
isxn_str = { isxn_str:byte(1, len) }; -- make a table of bytes
len = len+1; -- adjust to be a loop counter
for i, v in ipairs( isxn_str ) do -- loop through all of the bytes and calculate the checksum
if v == string.byte( "X" ) then -- if checkdigit is X
temp = temp + 10*( len - i ); -- it represents 10 decimal
else
temp = temp + tonumber( string.char(v) )*(len-i);
end
end
return temp % 11 == 0; -- returns true if calculation result is zero
end
-- Adaptación de la función checkisbn de en:Module:Citation/CS1
function p.esValidoISBN(isbn)
-- El isbn solo contiene números, guiones, espacios en blanco y el dígito de
-- control X.
if not isbn or isbn:match("[^%s-0-9X]") then
return false
end
-- Eliminar los guiones y espacios en blanco
isbn = isbn:gsub( "-", "" ):gsub( " ", "" )
local longitud = isbn:len()
if longitud == 10 then
-- La X solo puede ir al final.
if not isbn:match( "^%d*X?$" ) then
return false
end
return p.esValidoISXN(isbn, 10);
elseif longitud == 13 then -- isbn13
local temp = 0;
-- Debe comenzar por 978 o 979
if not isbn:match( "^97[89]%d*$" ) then
return false
end
-- Comprobar el dígito de control
isbn = { isbn:byte(1, longitud) };
for i, v in ipairs( isbn ) do
temp = temp + (3 - 2*(i % 2)) * tonumber( string.char(v) );
end
return temp % 10 == 0;
else
return false
end
end
-- Función que devuelve un enlace al ISBN si es correcto y si no (por ejemplo si
-- ya está enlazado) lo devuelve sin más.
-- Por defecto no se incluye el literal ISBN delante.
function p.enlazarISBN(isbn, opciones)
if p.esValidoISBN(isbn) then
return '[[Especial:FuentesDeLibros/' .. isbn .. '|' .. isbn .. ']]'
else
return isbn
end
end
function p.enlazarOCLC(oclc, opciones)
if tonumber(oclc) then
return '[http://www.worldcat.org/oclc/' .. oclc .. ' ' .. oclc .. ']'
else
return oclc
end
end
return p
609f323241054859e4a7137e12bf8061389f3771
Módulo:Date
828
51
100
2023-02-28T18:53:32Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Date]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
-- Date functions for use by other modules.
-- I18N and time zones are not supported.
local MINUS = '−' -- Unicode U+2212 MINUS SIGN
local floor = math.floor
local Date, DateDiff, diffmt -- forward declarations
local uniq = { 'unique identifier' }
local function is_date(t)
-- The system used to make a date read-only means there is no unique
-- metatable that is conveniently accessible to check.
return type(t) == 'table' and t._id == uniq
end
local function is_diff(t)
return type(t) == 'table' and getmetatable(t) == diffmt
end
local function _list_join(list, sep)
return table.concat(list, sep)
end
local function collection()
-- Return a table to hold items.
return {
n = 0,
add = function (self, item)
self.n = self.n + 1
self[self.n] = item
end,
join = _list_join,
}
end
local function strip_to_nil(text)
-- If text is a string, return its trimmed content, or nil if empty.
-- Otherwise return text (convenient when Date fields are provided from
-- another module which may pass a string, a number, or another type).
if type(text) == 'string' then
text = text:match('(%S.-)%s*$')
end
return text
end
local function is_leap_year(year, calname)
-- Return true if year is a leap year.
if calname == 'Julian' then
return year % 4 == 0
end
return (year % 4 == 0 and year % 100 ~= 0) or year % 400 == 0
end
local function days_in_month(year, month, calname)
-- Return number of days (1..31) in given month (1..12).
if month == 2 and is_leap_year(year, calname) then
return 29
end
return ({ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 })[month]
end
local function h_m_s(time)
-- Return hour, minute, second extracted from fraction of a day.
time = floor(time * 24 * 3600 + 0.5) -- number of seconds
local second = time % 60
time = floor(time / 60)
return floor(time / 60), time % 60, second
end
local function hms(date)
-- Return fraction of a day from date's time, where (0 <= fraction < 1)
-- if the values are valid, but could be anything if outside range.
return (date.hour + (date.minute + date.second / 60) / 60) / 24
end
local function julian_date(date)
-- Return jd, jdz from a Julian or Gregorian calendar date where
-- jd = Julian date and its fractional part is zero at noon
-- jdz = same, but assume time is 00:00:00 if no time given
-- http://www.tondering.dk/claus/cal/julperiod.php#formula
-- Testing shows this works for all dates from year -9999 to 9999!
-- JDN 0 is the 24-hour period starting at noon UTC on Monday
-- 1 January 4713 BC = (-4712, 1, 1) Julian calendar
-- 24 November 4714 BC = (-4713, 11, 24) Gregorian calendar
local offset
local a = floor((14 - date.month)/12)
local y = date.year + 4800 - a
if date.calendar == 'Julian' then
offset = floor(y/4) - 32083
else
offset = floor(y/4) - floor(y/100) + floor(y/400) - 32045
end
local m = date.month + 12*a - 3
local jd = date.day + floor((153*m + 2)/5) + 365*y + offset
if date.hastime then
jd = jd + hms(date) - 0.5
return jd, jd
end
return jd, jd - 0.5
end
local function set_date_from_jd(date)
-- Set the fields of table date from its Julian date field.
-- Return true if date is valid.
-- http://www.tondering.dk/claus/cal/julperiod.php#formula
-- This handles the proleptic Julian and Gregorian calendars.
-- Negative Julian dates are not defined but they work.
local calname = date.calendar
local low, high -- min/max limits for date ranges −9999-01-01 to 9999-12-31
if calname == 'Gregorian' then
low, high = -1930999.5, 5373484.49999
elseif calname == 'Julian' then
low, high = -1931076.5, 5373557.49999
else
return
end
local jd = date.jd
if not (type(jd) == 'number' and low <= jd and jd <= high) then
return
end
local jdn = floor(jd)
if date.hastime then
local time = jd - jdn -- 0 <= time < 1
if time >= 0.5 then -- if at or after midnight of next day
jdn = jdn + 1
time = time - 0.5
else
time = time + 0.5
end
date.hour, date.minute, date.second = h_m_s(time)
else
date.second = 0
date.minute = 0
date.hour = 0
end
local b, c
if calname == 'Julian' then
b = 0
c = jdn + 32082
else -- Gregorian
local a = jdn + 32044
b = floor((4*a + 3)/146097)
c = a - floor(146097*b/4)
end
local d = floor((4*c + 3)/1461)
local e = c - floor(1461*d/4)
local m = floor((5*e + 2)/153)
date.day = e - floor((153*m + 2)/5) + 1
date.month = m + 3 - 12*floor(m/10)
date.year = 100*b + d - 4800 + floor(m/10)
return true
end
local function fix_numbers(numbers, y, m, d, H, M, S, partial, hastime, calendar)
-- Put the result of normalizing the given values in table numbers.
-- The result will have valid m, d values if y is valid; caller checks y.
-- The logic of PHP mktime is followed where m or d can be zero to mean
-- the previous unit, and -1 is the one before that, etc.
-- Positive values carry forward.
local date
if not (1 <= m and m <= 12) then
date = Date(y, 1, 1)
if not date then return end
date = date + ((m - 1) .. 'm')
y, m = date.year, date.month
end
local days_hms
if not partial then
if hastime and H and M and S then
if not (0 <= H and H <= 23 and
0 <= M and M <= 59 and
0 <= S and S <= 59) then
days_hms = hms({ hour = H, minute = M, second = S })
end
end
if days_hms or not (1 <= d and d <= days_in_month(y, m, calendar)) then
date = date or Date(y, m, 1)
if not date then return end
date = date + (d - 1 + (days_hms or 0))
y, m, d = date.year, date.month, date.day
if days_hms then
H, M, S = date.hour, date.minute, date.second
end
end
end
numbers.year = y
numbers.month = m
numbers.day = d
if days_hms then
-- Don't set H unless it was valid because a valid H will set hastime.
numbers.hour = H
numbers.minute = M
numbers.second = S
end
end
local function set_date_from_numbers(date, numbers, options)
-- Set the fields of table date from numeric values.
-- Return true if date is valid.
if type(numbers) ~= 'table' then
return
end
local y = numbers.year or date.year
local m = numbers.month or date.month
local d = numbers.day or date.day
local H = numbers.hour
local M = numbers.minute or date.minute or 0
local S = numbers.second or date.second or 0
local need_fix
if y and m and d then
date.partial = nil
if not (-9999 <= y and y <= 9999 and
1 <= m and m <= 12 and
1 <= d and d <= days_in_month(y, m, date.calendar)) then
if not date.want_fix then
return
end
need_fix = true
end
elseif y and date.partial then
if d or not (-9999 <= y and y <= 9999) then
return
end
if m and not (1 <= m and m <= 12) then
if not date.want_fix then
return
end
need_fix = true
end
else
return
end
if date.partial then
H = nil -- ignore any time
M = nil
S = nil
else
if H then
-- It is not possible to set M or S without also setting H.
date.hastime = true
else
H = 0
end
if not (0 <= H and H <= 23 and
0 <= M and M <= 59 and
0 <= S and S <= 59) then
if date.want_fix then
need_fix = true
else
return
end
end
end
date.want_fix = nil
if need_fix then
fix_numbers(numbers, y, m, d, H, M, S, date.partial, date.hastime, date.calendar)
return set_date_from_numbers(date, numbers, options)
end
date.year = y -- -9999 to 9999 ('n BC' → year = 1 - n)
date.month = m -- 1 to 12 (may be nil if partial)
date.day = d -- 1 to 31 (* = nil if partial)
date.hour = H -- 0 to 59 (*)
date.minute = M -- 0 to 59 (*)
date.second = S -- 0 to 59 (*)
if type(options) == 'table' then
for _, k in ipairs({ 'am', 'era', 'format' }) do
if options[k] then
date.options[k] = options[k]
end
end
end
return true
end
local function make_option_table(options1, options2)
-- If options1 is a string, return a table with its settings, or
-- if it is a table, use its settings.
-- Missing options are set from table options2 or defaults.
-- If a default is used, a flag is set so caller knows the value was not intentionally set.
-- Valid option settings are:
-- am: 'am', 'a.m.', 'AM', 'A.M.'
-- 'pm', 'p.m.', 'PM', 'P.M.' (each has same meaning as corresponding item above)
-- era: 'BCMINUS', 'BCNEGATIVE', 'BC', 'B.C.', 'BCE', 'B.C.E.', 'AD', 'A.D.', 'CE', 'C.E.'
-- Option am = 'am' does not mean the hour is AM; it means 'am' or 'pm' is used, depending on the hour,
-- and am = 'pm' has the same meaning.
-- Similarly, era = 'BC' means 'BC' is used if year <= 0.
-- BCMINUS displays a MINUS if year < 0 and the display format does not include %{era}.
-- BCNEGATIVE is similar but displays a hyphen.
local result = { bydefault = {} }
if type(options1) == 'table' then
result.am = options1.am
result.era = options1.era
elseif type(options1) == 'string' then
-- Example: 'am:AM era:BC' or 'am=AM era=BC'.
for item in options1:gmatch('%S+') do
local lhs, rhs = item:match('^(%w+)[:=](.+)$')
if lhs then
result[lhs] = rhs
end
end
end
options2 = type(options2) == 'table' and options2 or {}
local defaults = { am = 'am', era = 'a. C.' }
for k, v in pairs(defaults) do
if not result[k] then
if options2[k] then
result[k] = options2[k]
else
result[k] = v
result.bydefault[k] = true
end
end
end
return result
end
local ampm_options = {
-- lhs = input text accepted as an am/pm option
-- rhs = code used internally
['am'] = 'am',
['AM'] = 'AM',
['a.m.'] = 'a.m.',
['A.M.'] = 'A.M.',
['pm'] = 'am', -- same as am
['PM'] = 'AM',
['p.m.'] = 'a.m.',
['P.M.'] = 'A.M.',
}
local era_text = {
-- Text for displaying an era with a positive year (after adjusting
-- by replacing year with 1 - year if date.year <= 0).
-- options.era = { year<=0 , year>0 }
['BCMINUS'] = { 'BC' , '' , isbc = true, sign = MINUS },
['BCNEGATIVE'] = { 'BC' , '' , isbc = true, sign = '-' },
['BC'] = { 'BC' , '' , isbc = true },
['B.C.'] = { 'B.C.' , '' , isbc = true },
['BCE'] = { 'BCE' , '' , isbc = true },
['B.C.E.'] = { 'B.C.E.', '' , isbc = true },
['AD'] = { 'BC' , 'AD' },
['A.D.'] = { 'B.C.' , 'A.D.' },
['CE'] = { 'BCE' , 'CE' },
['C.E.'] = { 'B.C.E.', 'C.E.' },
--ABREVIATURAS EN ESPAÑOL--
['a. C.'] = { 'a. C.' , '' , isbc = true }, --antes de Cristo
['a. de C.'] = { 'a. de C.' , '' , isbc = true }, --antes de Cristo
['a. de J. C.'] = { 'a. de J. C.' , '' , isbc = true }, --antes de Jesucristo
['a. J. C.'] = { 'a. J. C.' , '' , isbc = true }, --antes de Jesucristo
['AEC'] = { 'AEC' , '' , isbc = true }, --antes de la era común
['a. e. c.'] = { 'a. e. c.' , '' , isbc = true }, --antes de la era común
['a. n. e.'] = { 'a. n. e.' , '' , isbc = true }, --antes de nuestra era
['a. e. v.'] = { 'a. e. v.' , '' , isbc = true }, --antes de la era vulgar
['d. C.'] = { 'a. C.' , 'd. C.' }, --después de Cristo
['d. de C.'] = { 'a. de C.' , 'd. de C.' }, --después de Cristo
['d. de J. C.'] = { 'a. de J. C.' , 'd. de J. C.' }, --después de Jesucristo
['d. J. C.'] = { 'a. J. C.' , 'd. J. C.' }, --después de Jesucristo
['EC'] = { 'AEC' , 'EC' }, --era común
['e. c.'] = { 'a. e. c.' , 'e. c.' }, --era común
['n. e.'] = { 'a. n. e.' , 'n. e.' }, --nuestra era
['e. v.'] = { 'a. e. v.' , 'e. v.' }, --era vulgar
['A. D.'] = { 'a. C.' , 'A. D.' }, --anno Domini
}
local function get_era_for_year(era, year)
return (era_text[era] or era_text['a. C.'])[year > 0 and 2 or 1]:gsub(" ", " ") or ''
end
local function strftime(date, format, options)
-- Return date formatted as a string using codes similar to those
-- in the C strftime library function.
local sformat = string.format
local shortcuts = {
['%c'] = '%-I:%M %p %-d de %B de %-Y %{era}', -- date and time: 2:30 pm 1 de abril de 2016
['%C'] = '%-d de %B de %-Y, %H:%M:%S', -- date and time: 1 de abril de 2016, 14:30
['%x'] = '%-d de %B de %-Y %{era}', -- date: 1 de abril de 2016
['%X'] = '%-I:%M %p', -- time: 2:30 pm
}
if shortcuts[format] then
format = shortcuts[format]
end
local codes = {
a = { field = 'dayabbr' },
A = { field = 'dayname' },
b = { field = 'monthabbr' },
B = { field = 'monthname' },
u = { fmt = '%d' , field = 'dowiso' },
w = { fmt = '%d' , field = 'dow' },
d = { fmt = '%02d', fmt2 = '%d', field = 'day' },
m = { fmt = '%02d', fmt2 = '%d', field = 'month' },
Y = { fmt = '%04d', fmt2 = '%d', field = 'year' },
H = { fmt = '%02d', fmt2 = '%d', field = 'hour' },
M = { fmt = '%02d', fmt2 = '%d', field = 'minute' },
S = { fmt = '%02d', fmt2 = '%d', field = 'second' },
j = { fmt = '%03d', fmt2 = '%d', field = 'dayofyear' },
I = { fmt = '%02d', fmt2 = '%d', field = 'hour', special = 'hour12' },
p = { field = 'hour', special = 'am' },
}
options = make_option_table(options, date.options)
local amopt = options.am
local eraopt = options.era
local function replace_code(spaces, modifier, id)
local code = codes[id]
if code then
local fmt = code.fmt
if modifier == '-' and code.fmt2 then
fmt = code.fmt2
end
local value = date[code.field]
if not value then
return nil -- an undefined field in a partial date
end
local special = code.special
if special then
if special == 'hour12' then
value = value % 12
value = value == 0 and 12 or value
elseif special == 'am' then
local ap = ({
['a.m.'] = { 'a.m.', 'p.m.' },
['AM'] = { 'AM', 'PM' },
['A.M.'] = { 'A.M.', 'P.M.' },
})[ampm_options[amopt]] or { 'am', 'pm' }
return (spaces == '' and '' or ' ') .. (value < 12 and ap[1] or ap[2])
end
end
if code.field == 'year' then
local sign = (era_text[eraopt] or {}).sign
if not sign or format:find('%{era}', 1, true) then
sign = ''
if value <= 0 then
value = 1 - value
end
else
if value >= 0 then
sign = ''
else
value = -value
end
end
return spaces .. sign .. sformat(fmt, value)
end
return spaces .. (fmt and sformat(fmt, value) or value)
end
end
local function replace_property(spaces, id)
if id == 'era' then
-- Special case so can use local era option.
local result = get_era_for_year(eraopt, date.year)
if result == '' then
return ''
end
return (spaces == '' and '' or ' ') .. result
end
local result = date[id]
if type(result) == 'string' then
return spaces .. result
end
if type(result) == 'number' then
return spaces .. tostring(result)
end
if type(result) == 'boolean' then
return spaces .. (result and '1' or '0')
end
-- This occurs if id is an undefined field in a partial date, or is the name of a function.
return nil
end
local PERCENT = '\127PERCENT\127'
return (format
:gsub('%%%%', PERCENT)
:gsub('(%s*)%%{(%w+)}', replace_property)
:gsub('(%s*)%%(%-?)(%a)', replace_code)
:gsub(PERCENT, '%%')
)
end
local function _date_text(date, fmt, options)
-- Return a formatted string representing the given date.
if not is_date(date) then
error('date:text: need a date (use "date:text()" with a colon)', 2)
end
if type(fmt) == 'string' and fmt:match('%S') then
if fmt:find('%', 1, true) then
return strftime(date, fmt, options)
end
elseif date.partial then
fmt = date.month and 'my' or 'y'
else
fmt = 'dmy'
if date.hastime then
fmt = (date.second > 0 and 'hms ' or 'hm ') .. fmt
end
end
local function bad_format()
-- For consistency with other format processing, return given format
-- (or cleaned format if original was not a string) if invalid.
return mw.text.nowiki(fmt)
end
if date.partial then
-- Ignore days in standard formats like 'ymd'.
if fmt == 'ym' or fmt == 'ymd' then
fmt = date.month and '%Y-%m %{era}' or '%Y %{era}'
elseif fmt == 'my' or fmt == 'dmy' or fmt == 'mdy' then
fmt = date.month and '%B %-Y %{era}' or '%-Y %{era}'
elseif fmt == 'y' then
fmt = date.month and '%-Y %{era}' or '%-Y %{era}'
else
return bad_format()
end
return strftime(date, fmt, options)
end
local function hm_fmt()
local plain = make_option_table(options, date.options).bydefault.am
return plain and '%H:%M' or '%-I:%M %p'
end
local need_time = date.hastime
local t = collection()
for item in fmt:gmatch('%S+') do
local f
if item == 'hm' then
f = hm_fmt()
need_time = false
elseif item == 'hms' then
f = '%H:%M:%S'
need_time = false
elseif item == 'ymd' then
f = '%Y-%m-%d %{era}'
elseif item == 'mdy' then
f = '%B %-d, %-Y %{era}'
elseif item == 'dmy' then
f = '%-d de %B de %-Y %{era}'
else
return bad_format()
end
t:add(f)
end
fmt = t:join(' ')
if need_time then
fmt = hm_fmt() .. ' ' .. fmt
end
return strftime(date, fmt, options)
end
local day_info = {
-- 0=Sun to 6=Sat
[0] = { 'do', 'domingo' },
{ 'lu', 'lunes' },
{ 'ma', 'martes' },
{ 'mi', 'miércoles' },
{ 'ju', 'jueves' },
{ 'vi', 'viernes' },
{ 'sa', 'sábado' },
}
local month_info = {
-- 1=Jan to 12=Dec
{ 'ene', 'enero' },
{ 'feb', 'febrero' },
{ 'mar', 'marzo' },
{ 'abr', 'abril' },
{ 'may', 'mayo' },
{ 'jun', 'junio' },
{ 'jul', 'julio' },
{ 'ago', 'agosto' },
{ 'sep', 'septiembre' },
{ 'oct', 'octubre' },
{ 'nov', 'noviembre' },
{ 'dic', 'diciembre' },
}
for k,v in pairs(month_info) do month_info[ v[1] ], month_info[ v[2] ] = v, v end
local function name_to_number(text, translate)
if type(text) == 'string' then
return translate['xx' .. text:lower():gsub('é', 'e'):gsub('á', 'a')]
end
end
local function day_number(text)
return name_to_number(text, {
xxdo = 0, xxdomingo = 0,
xxlu = 1, xxlunes = 1, xxlune = 1,
xxma = 2, xxmartes = 2, xxmarte = 2,
xxmi = 3, xxmiercoles = 3, xxmiercole = 3,
xxju = 4, xxjueves = 4, xxjueve = 4,
xxvi = 5, xxviernes = 5, xxvierne = 5,
xxsat = 6, xxsabado = 6
})
end
local function month_number(text)
return name_to_number(text, {
xxene = 1, xxenero = 1,
xxfeb = 2, xxfebrero = 2,
xxmar = 3, xxmarzo = 3,
xxabr = 4, xxabril = 4,
xxmay = 5, xxmayo = 5,
xxjun = 6, xxjunio = 6,
xxjul = 7, xxjulio = 7,
xxago = 8, xxagosto = 8,
xxsep = 9, xxseptiembre = 9, xxsept = 9,
xxoct = 10, xxoctubre = 10,
xxnov = 11, xxnoviembre = 11,
xxdic = 12, xxdiciembre = 12,
})
end
local function _list_text(list, fmt)
-- Return a list of formatted strings from a list of dates.
if not type(list) == 'table' then
error('date:list:text: need "list:text()" with a colon', 2)
end
local result = { join = _list_join }
for i, date in ipairs(list) do
result[i] = date:text(fmt)
end
return result
end
local function _date_list(date, spec)
-- Return a possibly empty numbered table of dates meeting the specification.
-- Dates in the list are in ascending order (oldest date first).
-- The spec should be a string of form "<count> <day> <op>"
-- where each item is optional and
-- count = number of items wanted in list
-- day = abbreviation or name such as Mon or Monday
-- op = >, >=, <, <= (default is > meaning after date)
-- If no count is given, the list is for the specified days in date's month.
-- The default day is date's day.
-- The spec can also be a positive or negative number:
-- -5 is equivalent to '5 <'
-- 5 is equivalent to '5' which is '5 >'
if not is_date(date) then
error('date:list: need a date (use "date:list()" with a colon)', 2)
end
local list = { text = _list_text }
if date.partial then
return list
end
local count, offset, operation
local ops = {
['>='] = { before = false, include = true },
['>'] = { before = false, include = false },
['<='] = { before = true , include = true },
['<'] = { before = true , include = false },
}
if spec then
if type(spec) == 'number' then
count = floor(spec + 0.5)
if count < 0 then
count = -count
operation = ops['<']
end
elseif type(spec) == 'string' then
local num, day, op = spec:match('^%s*(%d*)%s*(%a*)%s*([<>=]*)%s*$')
if not num then
return list
end
if num ~= '' then
count = tonumber(num)
end
if day ~= '' then
local dow = day_number(day:gsub('[sS]$', '')) -- accept plural days
if not dow then
return list
end
offset = dow - date.dow
end
operation = ops[op]
else
return list
end
end
offset = offset or 0
operation = operation or ops['>']
local datefrom, dayfirst, daylast
if operation.before then
if offset > 0 or (offset == 0 and not operation.include) then
offset = offset - 7
end
if count then
if count > 1 then
offset = offset - 7*(count - 1)
end
datefrom = date + offset
else
daylast = date.day + offset
dayfirst = daylast % 7
if dayfirst == 0 then
dayfirst = 7
end
end
else
if offset < 0 or (offset == 0 and not operation.include) then
offset = offset + 7
end
if count then
datefrom = date + offset
else
dayfirst = date.day + offset
daylast = date.monthdays
end
end
if not count then
if daylast < dayfirst then
return list
end
count = floor((daylast - dayfirst)/7) + 1
datefrom = Date(date, {day = dayfirst})
end
for i = 1, count do
if not datefrom then break end -- exceeds date limits
list[i] = datefrom
datefrom = datefrom + 7
end
return list
end
-- A table to get the current date/time (UTC), but only if needed.
local current = setmetatable({}, {
__index = function (self, key)
local d = os.date('!*t')
self.year = d.year
self.month = d.month
self.day = d.day
self.hour = d.hour
self.minute = d.min
self.second = d.sec
return rawget(self, key)
end })
local function extract_date(newdate, text)
-- Parse the date/time in text and return n, o where
-- n = table of numbers with date/time fields
-- o = table of options for AM/PM or AD/BC or format, if any
-- or return nothing if date is known to be invalid.
-- Caller determines if the values in n are valid.
-- A year must be positive ('1' to '9999'); use 'BC' for BC.
-- In a y-m-d string, the year must be four digits to avoid ambiguity
-- ('0001' to '9999'). The only way to enter year <= 0 is by specifying
-- the date as three numeric parameters like ymd Date(-1, 1, 1).
-- Dates of form d/m/y, m/d/y, y/m/d are [partially] rejected as potentially ambiguous.
local date, options = {}, {}
if text:sub(-1) == 'Z' then
-- Extract date/time from a Wikidata timestamp.
-- The year can be 1 to 16 digits but this module handles 1 to 4 digits only.
-- Examples: '+2016-06-21T14:30:00Z', '-0000000180-00-00T00:00:00Z'.
local sign, y, m, d, H, M, S = text:match('^([+%-])(%d+)%-(%d%d)%-(%d%d)T(%d%d):(%d%d):(%d%d)Z$')
if sign then
y = tonumber(y)
if sign == '-' and y > 0 then
y = -y
end
if y <= 0 then
options.era = 'a. C.' -- Sets the era when the year is negative on the timestamp
end
date.year = y
m = tonumber(m)
d = tonumber(d)
H = tonumber(H)
M = tonumber(M)
S = tonumber(S)
if m == 0 then
newdate.partial = true
return date, options
end
date.month = m
if d == 0 then
newdate.partial = true
return date, options
end
date.day = d
if H > 0 or M > 0 or S > 0 then
date.hour = H
date.minute = M
date.second = S
end
return date, options
end
return
end
local a, b, c = text:match('^(%d+)[-./](%d+)[-./](%d+)$')
if a --[[ and b and c --]] then
a = tonumber(a)
b = tonumber(b)
c = tonumber(c)
--[[ -- use extract_ymd for this
if a > 31 and m <= 12 and c > 12 then
date.year, date.month, date.day = a, b, c
options.format = 'ymd'
newdate.partial = true
return date, options
else--]]
if a > 12 and b <= 12 and c > 31 then
date.year, date.month, date.day = c, b, a
options.format = 'dmy'
newdate.partial = true
return date, options
elseif a <= 12 and b > 12 and c > 31 then
date.year, date.month, date.day = c, a, b
options.format = 'mdy'
newdate.partial = true
return date, options
end
end
local function extract_ymd(item)
-- Called when no day or month has been set.
local y, m, d = item:match('^(%d%d%d%d)[-./](%w+)[-./](%d%d?)$')
if y then
if date.year then
return
end
if m:match('^%d%d?$') then
m = tonumber(m)
else
m = month_number(m)
end
if m then
date.year = tonumber(y)
date.month = m
date.day = tonumber(d)
return true
end
end
end
local function extract_day_or_year(item)
-- Called when a day would be valid, or
-- when a year would be valid if no year has been set and partial is set.
local number, suffix = item:match('^(%d%d?%d?%d?)(.*)$')
if number then
local n = tonumber(number)
if #number <= 2 and n <= 31 then
suffix = suffix:lower()
if suffix == '' or suffix == 'st' or suffix == 'nd' or suffix == 'rd' or suffix == 'th' then
date.day = n
return true
end
elseif suffix == '' and newdate.partial and not date.year then
date.year = n
return true
end
end
end
local function extract_month(item)
-- A month must be given as a name or abbreviation; a number could be ambiguous.
local m = month_number(item)
if m then
date.month = m
return true
end
end
local function extract_time(item)
local h, m, s = item:match('^(%d%d?):(%d%d)(:?%d*)$')
if date.hour or not h then
return
end
if s ~= '' then
s = s:match('^:(%d%d)$')
if not s then
return
end
end
date.hour = tonumber(h)
date.minute = tonumber(m)
date.second = tonumber(s) -- nil if empty string
return true
end
local item_count = 0
local index_time
local function set_ampm(item)
local H = date.hour
if H and not options.am and index_time + 1 == item_count then
options.am = ampm_options[item] -- caller checked this is not nil
if item:match('^[Aa]') then
if not (1 <= H and H <= 12) then
return
end
if H == 12 then
date.hour = 0
end
else
if not (1 <= H and H <= 23) then
return
end
if H <= 11 then
date.hour = H + 12
end
end
return true
end
end
--Filtrar abreviaturas de era
for key,value in pairs(era_text) do
if string.find(text, key) ~= nil then
options.era = key
text = string.gsub(text, key, '')
break
end
end
for item in text:gsub(',', ' '):gsub('del?', ''):gsub(' ', ' '):gmatch('%S+') do
item_count = item_count + 1
if era_text[item] then
-- Era is accepted in peculiar places.
if options.era then
return
end
options.era = item
elseif ampm_options[item] then
if not set_ampm(item) then
return
end
elseif item:find(':', 1, true) then
if not extract_time(item) then
return
end
index_time = item_count
elseif date.day and date.month then
if date.year then
return -- should be nothing more so item is invalid
end
if not item:match('^(%d%d?%d?%d?)$') then
return
end
date.year = tonumber(item)
elseif day_number(item) then
--catch month day case
elseif date.day then
if not extract_month(item) then
return
end
elseif date.month then
if not extract_day_or_year(item) then
return
end
elseif extract_month(item) then
options.format = 'mdy'
elseif extract_ymd(item) then
options.format = 'ymd'
elseif extract_day_or_year(item) then
if date.day then
options.format = 'dmy'
end
else
--return not return if item not recognized
end
end
if not date.year or date.year == 0 then
return
end
local era = era_text[options.era]
if era and era.isbc then
date.year = 1 - date.year
end
return date, options
end
local function autofill(date1, date2)
-- Fill any missing month or day in each date using the
-- corresponding component from the other date, if present,
-- or with 1 if both dates are missing the month or day.
-- This gives a good result for calculating the difference
-- between two partial dates when no range is wanted.
-- Return filled date1, date2 (two full dates).
local function filled(a, b)
local fillmonth, fillday
if not a.month then
fillmonth = b.month or 1
end
if not a.day then
fillday = b.day or 1
end
if fillmonth or fillday then -- need to create a new date
if (fillmonth or a.month) == 2 and (fillday or a.day) == 29 then
-- Avoid invalid date, for example with {{age|2013|29 Feb 2016}} or {{age|Feb 2013|29 Jan 2015}}.
if not is_leap_year(a.year, a.calendar) then
fillday = 28
end
end
a = Date(a, { month = fillmonth, day = fillday })
end
return a
end
return filled(date1, date2), filled(date2, date1)
end
local function date_add_sub(lhs, rhs, is_sub)
-- Return a new date from calculating (lhs + rhs) or (lhs - rhs),
-- or return nothing if invalid.
-- The result is nil if the calculated date exceeds allowable limits.
-- Caller ensures that lhs is a date; its properties are copied for the new date.
if lhs.partial then
-- Adding to a partial is not supported.
-- Can subtract a date or partial from a partial, but this is not called for that.
return
end
local function is_prefix(text, word, minlen)
local n = #text
return (minlen or 1) <= n and n <= #word and text == word:sub(1, n)
end
local function do_days(n)
local forcetime, jd
if floor(n) == n then
jd = lhs.jd
else
forcetime = not lhs.hastime
jd = lhs.jdz
end
jd = jd + (is_sub and -n or n)
if forcetime then
jd = tostring(jd)
if not jd:find('.', 1, true) then
jd = jd .. '.0'
end
end
return Date(lhs, 'juliandate', jd)
end
if type(rhs) == 'number' then
-- Add/subtract days, including fractional days.
return do_days(rhs)
end
if type(rhs) == 'string' then
-- rhs is a single component like '26m' or '26 months' (with optional sign).
-- Fractions like '3.25d' are accepted for the units which are handled as days.
local sign, numstr, id = rhs:match('^%s*([+-]?)([%d%.]+)%s*(%a+)$')
if sign then
if sign == '-' then
is_sub = not (is_sub and true or false)
end
local y, m, days
local num = tonumber(numstr)
if not num then
return
end
id = id:lower()
if is_prefix(id, 'years') then
y = num
m = 0
elseif is_prefix(id, 'months') then
y = floor(num / 12)
m = num % 12
elseif is_prefix(id, 'weeks') then
days = num * 7
elseif is_prefix(id, 'days') then
days = num
elseif is_prefix(id, 'hours') then
days = num / 24
elseif is_prefix(id, 'minutes', 3) then
days = num / (24 * 60)
elseif is_prefix(id, 'seconds') then
days = num / (24 * 3600)
else
return
end
if days then
return do_days(days)
end
if numstr:find('.', 1, true) then
return
end
if is_sub then
y = -y
m = -m
end
assert(-11 <= m and m <= 11)
y = lhs.year + y
m = lhs.month + m
if m > 12 then
y = y + 1
m = m - 12
elseif m < 1 then
y = y - 1
m = m + 12
end
local d = math.min(lhs.day, days_in_month(y, m, lhs.calendar))
return Date(lhs, y, m, d)
end
end
if is_diff(rhs) then
local days = rhs.age_days
if (is_sub or false) ~= (rhs.isnegative or false) then
days = -days
end
return lhs + days
end
end
local full_date_only = {
dayabbr = true,
dayname = true,
dow = true,
dayofweek = true,
dowiso = true,
dayofweekiso = true,
dayofyear = true,
gsd = true,
juliandate = true,
jd = true,
jdz = true,
jdnoon = true,
}
-- Metatable for a date's calculated fields.
local datemt = {
__index = function (self, key)
if rawget(self, 'partial') then
if full_date_only[key] then return end
if key == 'monthabbr' or key == 'monthdays' or key == 'monthname' then
if not self.month then return end
end
end
local value
if key == 'dayabbr' then
value = day_info[self.dow][1]
elseif key == 'dayname' then
value = day_info[self.dow][2]
elseif key == 'dow' then
value = (self.jdnoon + 1) % 7 -- day-of-week 0=Sun to 6=Sat
elseif key == 'dayofweek' then
value = self.dow
elseif key == 'dowiso' then
value = (self.jdnoon % 7) + 1 -- ISO day-of-week 1=Mon to 7=Sun
elseif key == 'dayofweekiso' then
value = self.dowiso
elseif key == 'dayofyear' then
local first = Date(self.year, 1, 1, self.calendar).jdnoon
value = self.jdnoon - first + 1 -- day-of-year 1 to 366
elseif key == 'era' then
-- Era text (never a negative sign) from year and options.
value = get_era_for_year(self.options.era, self.year)
elseif key == 'format' then
value = self.options.format or 'dmy'
elseif key == 'gsd' then
-- GSD = 1 from 00:00:00 to 23:59:59 on 1 January 1 AD Gregorian calendar,
-- which is from jd 1721425.5 to 1721426.49999.
value = floor(self.jd - 1721424.5)
elseif key == 'juliandate' or key == 'jd' or key == 'jdz' then
local jd, jdz = julian_date(self)
rawset(self, 'juliandate', jd)
rawset(self, 'jd', jd)
rawset(self, 'jdz', jdz)
return key == 'jdz' and jdz or jd
elseif key == 'jdnoon' then
-- Julian date at noon (an integer) on the calendar day when jd occurs.
value = floor(self.jd + 0.5)
elseif key == 'isleapyear' then
value = is_leap_year(self.year, self.calendar)
elseif key == 'monthabbr' then
value = month_info[self.month][1]
elseif key == 'monthdays' then
value = days_in_month(self.year, self.month, self.calendar)
elseif key == 'monthname' then
value = month_info[self.month][2]
end
if value ~= nil then
rawset(self, key, value)
return value
end
end,
}
-- Date operators.
local function mt_date_add(lhs, rhs)
if not is_date(lhs) then
lhs, rhs = rhs, lhs -- put date on left (it must be a date for this to have been called)
end
return date_add_sub(lhs, rhs)
end
local function mt_date_sub(lhs, rhs)
if is_date(lhs) then
if is_date(rhs) then
return DateDiff(lhs, rhs)
end
return date_add_sub(lhs, rhs, true)
end
end
local function mt_date_concat(lhs, rhs)
return tostring(lhs) .. tostring(rhs)
end
local function mt_date_tostring(self)
return self:text()
end
local function mt_date_eq(lhs, rhs)
-- Return true if dates identify same date/time where, for example,
-- Date(-4712, 1, 1, 'Julian') == Date(-4713, 11, 24, 'Gregorian') is true.
-- This is called only if lhs and rhs have the same type and the same metamethod.
if lhs.partial or rhs.partial then
-- One date is partial; the other is a partial or a full date.
-- The months may both be nil, but must be the same.
return lhs.year == rhs.year and lhs.month == rhs.month and lhs.calendar == rhs.calendar
end
return lhs.jdz == rhs.jdz
end
local function mt_date_lt(lhs, rhs)
-- Return true if lhs < rhs, for example,
-- Date('1 Jan 2016') < Date('06:00 1 Jan 2016') is true.
-- This is called only if lhs and rhs have the same type and the same metamethod.
if lhs.partial or rhs.partial then
-- One date is partial; the other is a partial or a full date.
if lhs.calendar ~= rhs.calendar then
return lhs.calendar == 'Julian'
end
if lhs.partial then
lhs = lhs.partial.first
end
if rhs.partial then
rhs = rhs.partial.first
end
end
return lhs.jdz < rhs.jdz
end
--[[ Examples of syntax to construct a date:
Date(y, m, d, 'julian') default calendar is 'gregorian'
Date(y, m, d, H, M, S, 'julian')
Date('juliandate', jd, 'julian') if jd contains "." text output includes H:M:S
Date('currentdate')
Date('currentdatetime')
Date('1 April 1995', 'julian') parse date from text
Date('1 April 1995 AD', 'julian') using an era sets a flag to do the same for output
Date('04:30:59 1 April 1995', 'julian')
Date(date) copy of an existing date
Date(date, t) same, updated with y,m,d,H,M,S fields from table t
Date(t) date with y,m,d,H,M,S fields from table t
]]
function Date(...) -- for forward declaration above
-- Return a table holding a date assuming a uniform calendar always applies
-- (proleptic Gregorian calendar or proleptic Julian calendar), or
-- return nothing if date is invalid.
-- A partial date has a valid year, however its month may be nil, and
-- its day and time fields are nil.
-- Field partial is set to false (if a full date) or a table (if a partial date).
local calendars = { julian = 'Julian', gregorian = 'Gregorian' }
local newdate = {
_id = uniq,
calendar = 'Gregorian', -- default is Gregorian calendar
hastime = false, -- true if input sets a time
hour = 0, -- always set hour/minute/second so don't have to handle nil
minute = 0,
second = 0,
options = {},
list = _date_list,
subtract = function (self, rhs, options)
return DateDiff(self, rhs, options)
end,
text = _date_text,
}
local argtype, datetext, is_copy, jd_number, tnums
local numindex = 0
local numfields = { 'year', 'month', 'day', 'hour', 'minute', 'second' }
local numbers = {}
for _, v in ipairs({...}) do
v = strip_to_nil(v)
local vlower = type(v) == 'string' and v:lower() or nil
if v == nil then
-- Ignore empty arguments after stripping so modules can directly pass template parameters.
elseif calendars[vlower] then
newdate.calendar = calendars[vlower]
elseif vlower == 'partial' then
newdate.partial = true
elseif vlower == 'fix' then
newdate.want_fix = true
elseif is_date(v) then
-- Copy existing date (items can be overridden by other arguments).
if is_copy or tnums then
return
end
is_copy = true
newdate.calendar = v.calendar
newdate.partial = v.partial
newdate.hastime = v.hastime
newdate.options = v.options
newdate.year = v.year
newdate.month = v.month
newdate.day = v.day
newdate.hour = v.hour
newdate.minute = v.minute
newdate.second = v.second
elseif type(v) == 'table' then
if tnums then
return
end
tnums = {}
local tfields = { year=1, month=1, day=1, hour=2, minute=2, second=2 }
for tk, tv in pairs(v) do
if tfields[tk] then
tnums[tk] = tonumber(tv)
end
if tfields[tk] == 2 then
newdate.hastime = true
end
end
else
local num = tonumber(v)
if not num and argtype == 'setdate' and numindex == 1 then
num = month_number(v)
end
if num then
if not argtype then
argtype = 'setdate'
end
if argtype == 'setdate' and numindex < 6 then
numindex = numindex + 1
numbers[numfields[numindex]] = num
elseif argtype == 'juliandate' and not jd_number then
jd_number = num
if type(v) == 'string' then
if v:find('.', 1, true) then
newdate.hastime = true
end
elseif num ~= floor(num) then
-- The given value was a number. The time will be used
-- if the fractional part is nonzero.
newdate.hastime = true
end
else
return
end
elseif argtype then
return
elseif type(v) == 'string' then
if v == 'currentdate' or v == 'currentdatetime' or v == 'juliandate' then
argtype = v
else
argtype = 'datetext'
datetext = v
end
else
return
end
end
end
if argtype == 'datetext' then
if tnums or not set_date_from_numbers(newdate, extract_date(newdate, datetext)) then
return
end
elseif argtype == 'juliandate' then
newdate.partial = nil
newdate.jd = jd_number
if not set_date_from_jd(newdate) then
return
end
elseif argtype == 'currentdate' or argtype == 'currentdatetime' then
newdate.partial = nil
newdate.year = current.year
newdate.month = current.month
newdate.day = current.day
if argtype == 'currentdatetime' then
newdate.hour = current.hour
newdate.minute = current.minute
newdate.second = current.second
newdate.hastime = true
end
newdate.calendar = 'Gregorian' -- ignore any given calendar name
elseif argtype == 'setdate' then
if tnums or not set_date_from_numbers(newdate, numbers) then
return
end
elseif not (is_copy or tnums) then
return
end
if tnums then
newdate.jd = nil -- force recalculation in case jd was set before changes from tnums
if not set_date_from_numbers(newdate, tnums) then
return
end
end
if newdate.partial then
local year = newdate.year
local month = newdate.month
local first = Date(year, month or 1, 1, newdate.calendar)
month = month or 12
local last = Date(year, month, days_in_month(year, month), newdate.calendar)
newdate.partial = { first = first, last = last }
else
newdate.partial = false -- avoid index lookup
end
setmetatable(newdate, datemt)
local readonly = {}
local mt = {
__index = newdate,
__newindex = function(t, k, v) error('date.' .. tostring(k) .. ' is read-only', 2) end,
__add = mt_date_add,
__sub = mt_date_sub,
__concat = mt_date_concat,
__tostring = mt_date_tostring,
__eq = mt_date_eq,
__lt = mt_date_lt,
}
return setmetatable(readonly, mt)
end
local function _diff_age(diff, code, options)
-- Return a tuple of integer values from diff as specified by code, except that
-- each integer may be a list of two integers for a diff with a partial date, or
-- return nil if the code is not supported.
-- If want round, the least significant unit is rounded to nearest whole unit.
-- For a duration, an extra day is added.
local wantround, wantduration, wantrange
if type(options) == 'table' then
wantround = options.round
wantduration = options.duration
wantrange = options.range
else
wantround = options
end
if not is_diff(diff) then
local f = wantduration and 'duration' or 'age'
error(f .. ': need a date difference (use "diff:' .. f .. '()" with a colon)', 2)
end
if diff.partial then
-- Ignore wantround, wantduration.
local function choose(v)
if type(v) == 'table' then
if not wantrange or v[1] == v[2] then
-- Example: Date('partial', 2005) - Date('partial', 2001) gives
-- diff.years = { 3, 4 } to show the range of possible results.
-- If do not want a range, choose the second value as more expected.
return v[2]
end
end
return v
end
if code == 'ym' or code == 'ymd' then
if not wantrange and diff.iszero then
-- This avoids an unexpected result such as
-- Date('partial', 2001) - Date('partial', 2001)
-- giving diff = { years = 0, months = { 0, 11 } }
-- which would be reported as 0 years and 11 months.
return 0, 0
end
return choose(diff.partial.years), choose(diff.partial.months)
end
if code == 'y' then
return choose(diff.partial.years)
end
if code == 'm' or code == 'w' or code == 'd' then
return choose({ diff.partial.mindiff:age(code), diff.partial.maxdiff:age(code) })
end
return nil
end
local extra_days = wantduration and 1 or 0
if code == 'wd' or code == 'w' or code == 'd' then
local offset = wantround and 0.5 or 0
local days = diff.age_days + extra_days
if code == 'wd' or code == 'd' then
days = floor(days + offset)
if code == 'd' then
return days
end
return floor(days/7), days % 7
end
return floor(days/7 + offset)
end
local H, M, S = diff.hours, diff.minutes, diff.seconds
if code == 'dh' or code == 'dhm' or code == 'dhms' or code == 'h' or code == 'hm' or code == 'hms' then
local days = floor(diff.age_days + extra_days)
local inc_hour
if wantround then
if code == 'dh' or code == 'h' then
if M >= 30 then
inc_hour = true
end
elseif code == 'dhm' or code == 'hm' then
if S >= 30 then
M = M + 1
if M >= 60 then
M = 0
inc_hour = true
end
end
else
-- Nothing needed because S is an integer.
end
if inc_hour then
H = H + 1
if H >= 24 then
H = 0
days = days + 1
end
end
end
if code == 'dh' or code == 'dhm' or code == 'dhms' then
if code == 'dh' then
return days, H
elseif code == 'dhm' then
return days, H, M
else
return days, H, M, S
end
end
local hours = days * 24 + H
if code == 'h' then
return hours
elseif code == 'hm' then
return hours, M
end
return hours, M, S
end
if wantround then
local inc_hour
if code == 'ymdh' or code == 'ymwdh' then
if M >= 30 then
inc_hour = true
end
elseif code == 'ymdhm' or code == 'ymwdhm' then
if S >= 30 then
M = M + 1
if M >= 60 then
M = 0
inc_hour = true
end
end
elseif code == 'ymd' or code == 'ymwd' or code == 'yd' or code == 'md' then
if H >= 12 then
extra_days = extra_days + 1
end
end
if inc_hour then
H = H + 1
if H >= 24 then
H = 0
extra_days = extra_days + 1
end
end
end
local y, m, d = diff.years, diff.months, diff.days
if extra_days > 0 then
d = d + extra_days
if d > 28 or code == 'yd' then
-- Recalculate in case have passed a month.
diff = diff.date1 + extra_days - diff.date2
y, m, d = diff.years, diff.months, diff.days
end
end
if code == 'ymd' then
return y, m, d
elseif code == 'yd' then
if y > 0 then
-- It is known that diff.date1 > diff.date2.
diff = diff.date1 - (diff.date2 + (y .. 'y'))
end
return y, floor(diff.age_days)
elseif code == 'md' then
return y * 12 + m, d
elseif code == 'ym' or code == 'm' then
if wantround then
if d >= 16 then
m = m + 1
if m >= 12 then
m = 0
y = y + 1
end
end
end
if code == 'ym' then
return y, m
end
return y * 12 + m
elseif code == 'ymw' then
local weeks = floor(d/7)
if wantround then
local days = d % 7
if days > 3 or (days == 3 and H >= 12) then
weeks = weeks + 1
end
end
return y, m, weeks
elseif code == 'ymwd' then
return y, m, floor(d/7), d % 7
elseif code == 'ymdh' then
return y, m, d, H
elseif code == 'ymwdh' then
return y, m, floor(d/7), d % 7, H
elseif code == 'ymdhm' then
return y, m, d, H, M
elseif code == 'ymwdhm' then
return y, m, floor(d/7), d % 7, H, M
end
if code == 'y' then
if wantround and m >= 6 then
y = y + 1
end
return y
end
return nil
end
local function _diff_duration(diff, code, options)
if type(options) ~= 'table' then
options = { round = options }
end
options.duration = true
return _diff_age(diff, code, options)
end
-- Metatable for some operations on date differences.
diffmt = { -- for forward declaration above
__concat = function (lhs, rhs)
return tostring(lhs) .. tostring(rhs)
end,
__tostring = function (self)
return tostring(self.age_days)
end,
__index = function (self, key)
local value
if key == 'age_days' then
if rawget(self, 'partial') then
local function jdz(date)
return (date.partial and date.partial.first or date).jdz
end
value = jdz(self.date1) - jdz(self.date2)
else
value = self.date1.jdz - self.date2.jdz
end
end
if value ~= nil then
rawset(self, key, value)
return value
end
end,
}
function DateDiff(date1, date2, options) -- for forward declaration above
-- Return a table with the difference between two dates (date1 - date2).
-- The difference is negative if date1 is older than date2.
-- Return nothing if invalid.
-- If d = date1 - date2 then
-- date1 = date2 + d
-- If date1 >= date2 and the dates have no H:M:S time specified then
-- date1 = date2 + (d.years..'y') + (d.months..'m') + d.days
-- where the larger time units are added first.
-- The result of Date(2015,1,x) + '1m' is Date(2015,2,28) for
-- x = 28, 29, 30, 31. That means, for example,
-- d = Date(2015,3,3) - Date(2015,1,31)
-- gives d.years, d.months, d.days = 0, 1, 3 (excluding date1).
if not (is_date(date1) and is_date(date2) and date1.calendar == date2.calendar) then
return
end
local wantfill
if type(options) == 'table' then
wantfill = options.fill
end
local isnegative = false
local iszero = false
if date1 < date2 then
isnegative = true
date1, date2 = date2, date1
elseif date1 == date2 then
iszero = true
end
-- It is known that date1 >= date2 (period is from date2 to date1).
if date1.partial or date2.partial then
-- Two partial dates might have timelines:
---------------------A=================B--- date1 is from A to B inclusive
--------C=======D-------------------------- date2 is from C to D inclusive
-- date1 > date2 iff A > C (date1.partial.first > date2.partial.first)
-- The periods can overlap ('April 2001' - '2001'):
-------------A===B------------------------- A=2001-04-01 B=2001-04-30
--------C=====================D------------ C=2001-01-01 D=2001-12-31
if wantfill then
date1, date2 = autofill(date1, date2)
else
local function zdiff(date1, date2)
local diff = date1 - date2
if diff.isnegative then
return date1 - date1 -- a valid diff in case we call its methods
end
return diff
end
local function getdate(date, which)
return date.partial and date.partial[which] or date
end
local maxdiff = zdiff(getdate(date1, 'last'), getdate(date2, 'first'))
local mindiff = zdiff(getdate(date1, 'first'), getdate(date2, 'last'))
local years, months
if maxdiff.years == mindiff.years then
years = maxdiff.years
if maxdiff.months == mindiff.months then
months = maxdiff.months
else
months = { mindiff.months, maxdiff.months }
end
else
years = { mindiff.years, maxdiff.years }
end
return setmetatable({
date1 = date1,
date2 = date2,
partial = {
years = years,
months = months,
maxdiff = maxdiff,
mindiff = mindiff,
},
isnegative = isnegative,
iszero = iszero,
age = _diff_age,
duration = _diff_duration,
}, diffmt)
end
end
local y1, m1 = date1.year, date1.month
local y2, m2 = date2.year, date2.month
local years = y1 - y2
local months = m1 - m2
local d1 = date1.day + hms(date1)
local d2 = date2.day + hms(date2)
local days, time
if d1 >= d2 then
days = d1 - d2
else
months = months - 1
-- Get days in previous month (before the "to" date) given December has 31 days.
local dpm = m1 > 1 and days_in_month(y1, m1 - 1, date1.calendar) or 31
if d2 >= dpm then
days = d1 - hms(date2)
else
days = dpm - d2 + d1
end
end
if months < 0 then
years = years - 1
months = months + 12
end
days, time = math.modf(days)
local H, M, S = h_m_s(time)
return setmetatable({
date1 = date1,
date2 = date2,
partial = false, -- avoid index lookup
years = years,
months = months,
days = days,
hours = H,
minutes = M,
seconds = S,
isnegative = isnegative,
iszero = iszero,
age = _diff_age,
duration = _diff_duration,
}, diffmt)
end
local z = {
_current = current,
_Date = Date,
_days_in_month = days_in_month,
}
-- Aqui comienzas las funciones adaptadas de [[Módulo:Fecha]] --
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
function z.fechaActual()
local d = os.date('!*t')
local fecha = {}
fecha.anyo = d.year
fecha.mes = d.month
fecha.dia = d.day
fecha.hora = d.hour
fecha.minuto = d.min
fecha.segundo = d.sec
return fecha
end
function validar(fecha)
fecha.anyo = tonumber(fecha.anyo)
fecha.mes = tonumber(fecha.mes)
fecha.dia = tonumber(fecha.dia)
fecha.hora = tonumber(fecha.hora)
fecha.minuto = tonumber(fecha.minuto)
fecha.segundo = tonumber(fecha.segundo)
-- Falta validar que es una fecha válida
end
function z.edad(fecha1, fecha2)
--Función que devuelve la edad en años entre dos fechas
--Se supone que las fechas se han validado previamente.
if not fecha1 then
return -- falta devolver un error
end
if not fecha2 then
fecha2=z.fechaActual()
end
local anyos = fecha2.anyo - fecha1.anyo
--if true then return require('Módulo:Tablas').tostring(fecha2) end
if fecha2.mes < fecha1.mes or
(fecha2.mes == fecha1.mes and fecha2.dia < fecha1.dia) then
anyos = anyos - 1
end
if anyos < 0 then
return -- falta devolver error
elseif anyos == 0 then
return 'menos de un año'
elseif anyos == 1 then
return 'un año'
else
return anyos .. ' años'
end
end
function z.llamadaDesdeUnaPlantilla(frame)
function obtenerFecha(dia, mes, anyo)
local resultado={}
if dia then
resultado.dia = dia
resultado.mes = mes
resultado.anyo = anyo
validar(resultado)
return resultado
end
end
local args = frame.args
local funcion = z[args[1]]
local fecha1 = obtenerFecha(args[2], args[3], args[4])
local fecha2 = obtenerFecha(args[5], args[6], args[7])
return funcion(fecha1, fecha2)
end
-- Aqui comienzas las funciones adaptadas de [[Módulo:Fechas]] --
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
function z.NombreDelMes(mes)
-- Función que devuelve el nombre del mes, donde mes es un número entre 1 y 12.
-- Si no es así se devuelve el valor de mes.
-- Por ejemplo, 2 --> febrero
-- 02 --> febrero
-- abril --> abril
-- MAYO --> MAYO
return month_info[tonumber(mes)][2] or mes
end
function z.Fecha(frame)
-- Función que formatea una fecha
-- El único parámetro obligatorio es el año o 3.
-- Obtener los argumentos con los que se llama a la función
local argumentos = {}
local parent = {}
if frame == mw.getCurrentFrame() then
if frame.args[3] or frame.args["año"] then
argumentos = frame.args
else
parent = frame:getParent()
argumentos = parent.args
end
else
argumentos = frame
end
local enlace = argumentos["enlace"] ~= "no"
-- Obtener el día, el nombre del mes y el año incluyendo para los años negativos a.d.
local dia = argumentos["día"] or argumentos[1] or ''
local mes = argumentos["mes"] or argumentos[2] or ''
local anyo=tonumber(argumentos["año"] or argumentos[3]) or 0
dia = (dia ~='') and (tonumber(dia) or dia) or dia -- Eliminar ceros a la izquierda del día.
mes = (mes~='') and ((month_info[mes] and month_info[mes][2]) or month_info[tonumber(mes)][2] or mes) or mes -- Extraer nombre del mes
anyo = (anyo<0) and (-anyo .. ' a. C.') or anyo
local calendario = (argumentos["calendario"] == 'juliano') and ('<sup>[[Calendario juliano|jul.]]</sup>') or ''
-- Formatear la fecha dependiendo de si el día, el mes o el año están informados
local out = ''
if anyo ~= 0 then
out = enlace and (out .. '[[' .. anyo .. ']]') or tostring(anyo)
if mes~='' then
if argumentos["mayúscula"] == 'sí' then
mes = mw.language.new('es'):ucfirst(mes)
end
out = enlace and (mes .. ']] de ' .. out) or (mes .. ' de ' .. out)
if dia ~='' then
out = enlace and ('[[' .. dia .. ' de ' .. out .. calendario) or (dia .. ' de ' .. out .. calendario)
else
out = enlace and ('[[' .. out) or out
end
end
end
return out
end
function z.Numerica(frame)
local d = Date(frame.args[1])
local err = '<strong class="error">Cadena de fecha no válida</strong>'
return (d == nil) and err or d:text('%Y%m%d')
end
return z
d7524c0b2cc62fdbe1f3229805d8642091493c58
Módulo:Citas/Whitelist
828
53
104
2023-02-28T18:53:33Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Citas/Whitelist]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
--[[
Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items now can have three values:
true - these parameters are valid and supported parameters
false - these parameters are deprecated but still supported
nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter)
]]
whitelist = {
basic_arguments = {
-- Argumentos permitidos en español no numerados. Algunos de ellos también se usan en inglés.
['1'] = true,
['agencia'] = true,
['ampersand'] = true,
['año'] = true,
['año-original'] = true,
['añoacceso'] = true,
['apellido'] = true,
['apellidos'] = true,
['apellido-editor']= true,
['apellidos-editor']= true,
['artículo'] = true,
['autor'] = true,
['autores'] = true,
['bibcode'] = true,
['BIBCODE'] = true,
['capítulo'] = true,
['capítulo-trad']= true,
['cita'] = true,
['cita-trad'] = true,
['ciudad'] = true,
['colección'] = true, -- Inexistente en la plantilla original. Añadido como sinónimo de serie.
['conferencia'] = true,
['diccionario'] = true,
['doi'] = true,
['DOI'] = true,
['edición'] = true,
['editor'] = true,
['editorial'] = true,
['eissn'] = true,
['EISSN'] = true,
['en'] = true,
['enciclopedia'] = true,
['enlace-autor'] = true,
['enlaceautor'] = true,
['enlaceeditor'] = true,
['enlace-editor']= true,
['enlace-pasaje'] = true,
['entrevistador'] = true, --cite interview
['extra'] = true, -- Inexistente en la plantilla original
['fecha'] = true,
['fecha-acceso'] = true,
['fecha-doi-roto']= true,
['fechaprofano'] = true,
['fecha-publicación']= true,
['fecharesumen'] = true,
['fecha-resumen']= true,
['fechaacceso'] = true,
['fechaarchivo'] = true,
['formato'] = true,
['fuenteresumen']= true,
['fuenteprofano']= true,
['grado'] = true, -- Para tesis
['hdl'] = true,
['HDL'] = true,
['hdl-access'] = true,
['id'] = true,
['ID'] = true,
['idioma'] = true,
['isbn'] = true,
['ISBN'] = true,
['isbn13'] = true,
['ISBN13'] = true,
['issn'] = true,
['ISSN'] = true,
['localización'] = true,
['lugar'] = true,
['lugar-publicación']= true,
['máscaraautor'] = true,
['máscara-autor']= true,
['medio'] = true,
['nombre'] = true,
['nombre-editor']= true,
['nombres'] = true,
['número'] = true,
['número-autores']= true,
['número-editores']= true,
['obra'] = true,
['oclc'] = true,
['OCLC'] = true,
['ol'] = true,
['OL'] = true,
['otros'] = true,
['página'] = true,
['páginas'] = true,
['pasaje'] = true,
['periódico'] = true,
['persona'] = true,
['personas'] = true,
['publicación'] = true,
['pub-periódica'] = true,
['puntofinal'] = true,
['registro'] = true,
['requiereregistro'] = true,
['requiere-registro'] = true,
['resumen'] = true,
['resumenprofano']= true,
['revista'] = true,
['s2cid'] = true,
['separador'] = true,
['separador-autores']= true,
['separador-nombres']= true,
['serie'] = true,
['sined'] = true, -- Inexistente en la plantilla original
['sinpp'] = true,
['sitio web'] = true,
['sitioweb'] = true,
['suscripción'] = true,
['temporada'] = true,
['tiempo'] = true,
['tipo'] = true,
['título'] = true,
['títulolibro'] = true,
['trad-título'] = true,
['título_trad'] = true,
['títulotrad'] = true,
['título-trad'] = true,
['traductor'] = true,
['traductores'] = true,
['ubicación'] = true,
['ubicación-publicación']= true,
['url'] = true,
['URL'] = true,
['urlarchivo'] = true,
['url-acceso'] = true,
['url-capítulo'] = true,
['urlcapítulo'] = true,
['urlconferencia'] = true,
['urlmuerta'] = true,
['url-pasaje'] = true,
['versión'] = true,
['volumen'] = true,
['wikidata'] = true,
-- Parámetros obsoletos (con false)
['añoacceso'] = false,
['coautor'] = false,
['coautores'] = false,
['día'] = false,
['mes'] = false,
['mesacceso'] = false,
['accessmonth'] = false,
['accessyear'] = false,
-- Parámetros en inglés
['accessdate'] = true,
['access-date'] = true,
['agency'] = true,
['airdate'] = true,
['albumlink'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of titlelink used by old cite AV media notes
['albumtype'] = nil, -- controled inappropriate functionality in the old cite AV media notes
['archivedate'] = true,
['archive-date'] = true,
['archiveurl'] = true,
['archive-url'] = true,
['article'] = true,
['artist'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of others used by old cite AV media notes
['bandname'] = false, -- Obsoleto. Remplazado por artist que será remplazado creo que por others.
['arxiv'] = true,
['ARXIV'] = true,
['at'] = true,
['author'] = true,
['Author'] = true,
['author-first'] = true,
['authorformat'] = true,
['author-format'] = true,
['author-last'] = true,
['authorlink'] = true,
['author-link'] = true,
['authormask'] = true,
['author-mask'] = true,
['author-name-separator'] = true,
['authors'] = true,
['author-separator'] = true,
['booktitle'] = true,
['book-title'] = true,
['callsign']=true, -- cite interview
['cartography'] = true,
['chapter'] = true,
['chapterlink'] = true,
['chapterurl'] = true,
['chapter-url'] = true,
['city']=true, -- cite interview
['coauthor'] = false,
['coauthors'] = false,
['cointerviewers'] = false, -- cite interview
['conference'] = true,
['conferenceurl'] = true,
['conference-url'] = true,
['contribution'] = true,
['contributionurl'] = true,
['contribution-url'] = true,
['date'] = true,
['day'] = false,
['dead-url'] = true,
['deadurl'] = true,
['degree'] = true,
['department'] = true,
['dictionary'] = true,
['director'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of author used by old cite DVD-notes
['displayauthors'] = true,
['display-authors'] = true,
['displayeditors'] = true,
['display-editors'] = true,
['docket'] = true,
['DoiBroken'] = true,
['doi_brokendate'] = true,
['doi_inactivedate'] = true,
['edition'] = true,
['Editor'] = true,
['editor-first'] = true,
['editorformat'] = true,
['editor-format'] = true,
['EditorGiven'] = true,
['editor-last'] = true,
['editorlink'] = true,
['editor-link'] = true,
['editormask'] = true,
['editor-mask'] = true,
['editor-name-separator'] = true,
['editors'] = true,
['editor-separator'] = true,
['EditorSurname'] = true,
['embargo'] = true,
['Embargo'] = true,
['encyclopaedia'] = true,
['encyclopedia'] = true,
['entry'] = true,
['episodelink'] = true,
['event'] = true,
['eventurl'] = true,
['first'] = true,
['format'] = true,
['given'] = true,
['host'] = true,
['ignoreisbnerror'] = true,
['ignore-isbn-error'] = true,
['in'] = true,
['inset'] = true,
['institution'] = true,
['interviewer'] = true, --cite interview
['issue'] = true,
['jfm'] = true,
['JFM'] = true,
['journal'] = true,
['jstor'] = true,
['JSTOR'] = true,
['language'] = true,
['last'] = true,
['lastauthoramp'] = true,
['laydate'] = true,
['laysource'] = true,
['laysummary'] = true,
['layurl'] = true,
['lccn'] = true,
['LCCN'] = true,
['location'] = true,
['magazine'] = true,
['medium'] = true,
['minutes'] = true,
['month'] = false,
['mr'] = true,
['MR'] = true,
['name-separator'] = true,
['network'] = true,
['newspaper'] = true,
['nocat'] = true,
['nopp'] = true,
['notestitle'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of chapter used by old cite AV media notes
['notracking'] = true,
['no-tracking'] = true,
['number'] = true,
['origyear'] = true,
['osti'] = true,
['OSTI'] = true,
['others'] = true,
['p'] = true,
['page'] = true,
['pages'] = true,
['people'] = true,
['periodical'] = true,
['place'] = true,
['pmc'] = true,
['PMC'] = true,
['pmid'] = true,
['PMID'] = true,
['postscript'] = true,
['pp'] = true,
['PPPrefix'] = true,
['PPrefix'] = true,
['program']=true, -- cite interview
['publicationdate'] = true,
['publication-date'] = true,
['publicationplace'] = true,
['publication-place'] = true,
['publisher'] = true,
['publisherid'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of others used by old cite AV media notes and old cite DVD-notes
['quotation'] = true,
['quote'] = true,
['ref'] = true,
['Ref'] = true,
['registration'] = true,
['rfc'] = true,
['RFC'] = true,
['scale'] = true,
['season'] = true,
['section'] = true,
['sectionurl'] = true,
['separator'] = true,
['series'] = true,
['serieslink'] = true,
['seriesno'] = true,
['seriesnumber'] = true,
['series-separator'] = true,
['ssrn'] = true,
['SSRN'] = true,
['station'] = true,
['subject'] = true,
['subjectlink'] = true,
['subscription'] = true,
['surname'] = true,
['template doc demo'] = true,
['time'] = true,
['timecaption'] = true,
['title'] = true,
['titlelink'] = true,
['titleyear'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of origyear used by old cite DVD-notes
['trans_chapter'] = true,
['trans-chapter'] = true,
['transcript'] = true,
['transcripturl'] = true,
['transcript-url'] = true,
['trans_quote'] = true,
['trans-quote'] = true,
['trans_title'] = true,
['trans-title'] = true,
['type'] = true,
['url-access'] = true,
['version'] = true,
['via'] = true,
['volume'] = true,
['website'] = true,
['work'] = true,
['year'] = true,
['zbl'] = true,
['ZBL'] = true,
},
numbered_arguments = {
['máscaraautor#'] = true,
['máscara-autor#'] = true,
['apellidos#'] = true,
['apellido#'] = true, -- Por apellido1
['apellido-editor#'] = true,
['apellidos-editor#']= true,
['autor#'] = true,
['editor#'] = true,
['enlaceautor#'] = true,
['enlace-autor#'] = true,
['enlace-editor#'] = true,
['nombre#'] = true,
['nombre-editor#'] = true,
['nombres#'] = true,
-- Parámetros en inglés
['author#'] = true,
['Author#'] = true,
['author-first#'] = true,
['author#-first'] = true,
['author-last#'] = true,
['author#-last'] = true,
['author-link#'] = true,
['author#link'] = true,
['author#-link'] = true,
['authorlink#'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['authormask#'] = true,
['authors#'] = true,
['Editor#'] = true,
['editor-first#'] = true,
['editor#-first'] = true,
['editor-given#'] = true,
['EditorGiven#'] = true,
['editor-last#'] = true,
['editor#-last'] = true,
['editor-link#'] = true,
['editor#link'] = true,
['editor#-link'] = true,
['editorlink#'] = true,
['editor-mask#'] = true,
['editor#mask'] = true,
['editor#-mask'] = true,
['editormask#'] = true,
['editors#'] = true,
['editor-surname#'] = true,
['EditorSurname#'] = true,
['first#'] = true,
['given#'] = true,
['last#'] = true,
['subject#'] = true,
['subjectlink#'] = true,
['surname#'] = true,
},
};
return whitelist;
13088e977c9ae18738dde27abcfd73f9e95334d0
Módulo:Citas/ValidaciónFechas
828
54
106
2023-02-28T18:53:33Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Citas/ValidaciónFechas]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
local p = {}
-- returns a number according to the month in a date: 1 for January, etc. Capitalization and spelling must be correct. If not a valid month, returns 0
function get_month_number (month)
local long_months = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12};
local short_months = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12};
local temp;
temp=long_months[month];
if temp then return temp; end -- if month is the long-form name
temp=short_months[month];
if temp then return temp; end -- if month is the short-form name
return 0; -- misspelled, improper case, or not a month name
end
-- returns a number according to the sequence of seasons in a year: 1 for Winter, etc. Capitalization and spelling must be correct. If not a valid season, returns 0
function get_season_number (season)
local season_list = {['Winter']=1, ['Spring']=2, ['Summer']=3, ['Fall']=4, ['Autumn']=4}
local temp;
temp=season_list[season];
if temp then return temp; end -- if season is a valid name return its number
return 0; -- misspelled, improper case, or not a season name
end
--returns true if month or season is valid (properly spelled, capitalized, abbreviated)
function is_valid_month_or_season (month_season)
if 0 == get_month_number (month_season) then -- if month text isn't one of the twelve months, might be a season
if 0 == get_season_number (month_season) then -- not a month, is it a season?
return false; -- return false not a month or one of the five seasons
end
end
return true;
end
-- Function gets current year from the server and compares it to year from a citation parameter. Years more than one year in the future are not acceptable.
function is_valid_year(year)
if not is_set(year_limit) then
year_limit = tonumber(os.date("%Y"))+1; -- global variable so we only have to fetch it once (os.date("Y") no longer works?)
end
return tonumber(year) <= year_limit; -- false if year is in the future more than one year
end
--[[
Returns true if day is less than or equal to the number of days in month and year is no farther into the future than next year; else returns false.
Assumes Julian calendar prior to year 1582 and Gregorian calendar thereafter. Accounts for Julian calendar leap years before 1582 and Gregorian leap years after 1582.
Where the two calendars overlap (1582 to approximately 1923) dates are assumed to be Gregorian.
]]
function is_valid_date (year, month, day)
local days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
local month_length;
if not is_valid_year(year) then -- no farther into the future than next year
return false;
end
if (2==month) then -- if February
month_length = 28; -- then 28 days unless
if 1582 > tonumber(year) then -- Julian calendar
if 0==(year%4) then
month_length = 29;
end
else -- Gregorian calendar
if (0==(year%4) and (0~=(year%100) or 0==(year%400))) then -- is a leap year?
month_length = 29; -- if leap year then 29 days in February
end
end
else
month_length=days_in_month[month];
end
if tonumber (day) > month_length then
return false;
end
return true;
end
--[[
Check a pair of months or seasons to see if both are valid members of a month or season pair.
Month pairs are expected to be left to right, earliest to latest in time. Similarly, seasons are also left to right, earliest to latest in time. There is
an oddity with seasons. Winter is assigned a value of 1, spring 2, ..., fall and autumn 4. Because winter can follow fall/autumn at the end of a calender year, a special test
is made to see if |date=Fall-Winter yyyy (4-1) is the date.
]]
function is_valid_month_season_range(range_start, range_end)
local range_start_number = get_month_number (range_start);
if 0 == range_start_number then -- is this a month range?
local range_start_number = get_season_number (range_start); -- not a month; is it a season? get start season number
local range_end_number = get_season_number (range_end); -- get end season number
if 0 ~= range_start_number then -- is start of range a season?
if range_start_number < range_end_number then -- range_start is a season
return true; -- return true when range_end is also a season and follows start season; else false
end
if 4 == range_start_number and 1 == range_end_number then -- special case when range is Fall-Winter or Autumn-Winter
return true;
end
end
return false; -- range_start is not a month or a season; or range_start is a season and range_end is not; or improper season sequence
end
local range_end_number = get_month_number (range_end); -- get end month number
if range_start_number < range_end_number then -- range_start is a month; does range_start precede range_end?
return true; -- if yes, return true
end
return false; -- range_start month number is greater than or equal to range end number; or range end isn't a month
end
--[[
Check date format to see that it is one of the formats approved by WP:DATESNO or WP:DATERANGE. Exception: only allowed range separator is endash.
Additionally, check the date to see that it is a real date: no 31 in 30-day months; no 29 February when not a leap year. Months, both long-form and three
character abbreviations, and seasons must be spelled correctly. Future years beyond next year are not allowed.
If the date fails the fomat tests, this function returns false and does not return values for anchor_year and COinS_date. When this happens, the date parameter is
used in the COinS metadata and the CITEREF identifier gets its year from the year parameter if present otherwise CITEREF does not get a date value.
Inputs:
date_string - date string from date-holding parameters (date, year, accessdate, embargo, archivedate, etc)
Returns:
false if date string is not a real date; else
true, anchor_year, COinS_date
anchor_year can be used in CITEREF anchors
COinS_date is date_string without anchor_year disambiguator if any
]]
function check_date (date_string)
local year; -- assume that year2, months, and days are not used;
local year2=0; -- second year in a year range
local month=0;
local month2=0; -- second month in a month range
local day=0;
local day2=0; -- second day in a day range
local anchor_year;
local coins_date;
if date_string:match("^%d%d%d%d%-%d%d%-%d%d$") then -- year-initial numerical year month day format
year, month, day=string.match(date_string, "(%d%d%d%d)%-(%d%d)%-(%d%d)");
month=tonumber(month);
if 12 < month or 1 > month or 1583 > tonumber(year) then return false; end -- month number not valid or not Gregorian calendar
anchor_year = year;
elseif date_string:match("^%a+ +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial: month day, year
month, day, anchor_year, year=string.match(date_string, "(%a+)%s*(%d%d?),%s*((%d%d%d%d)%a?)");
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^%a+ +[1-9]%d?–[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial day range: month day–day, year; days are separated by endash
month, day, day2, anchor_year, year=string.match(date_string, "(%a+) +(%d%d?)–(%d%d?), +((%d%d%d%d)%a?)");
if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same;
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day-initial: day month year
day, month, anchor_year, year=string.match(date_string, "(%d%d*)%s*(%a+)%s*((%d%d%d%d)%a?)");
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^[1-9]%d?–[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day-range-initial: day–day month year; days are separated by endash
day, day2, month, anchor_year, year=string.match(date_string, "(%d%d?)–(%d%d?) +(%a+) +((%d%d%d%d)%a?)");
if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same;
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^[1-9]%d? +%a+ – [1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day initial month-day-range: day month - day month year; uses spaced endash
day, month, day2, month2, anchor_year, year=date_string:match("(%d%d?) +(%a+) – (%d%d?) +(%a+) +((%d%d%d%d)%a?)");
if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end -- date range order is left to right: earlier to later;
month = get_month_number (month);
month2 = get_month_number (month2);
elseif date_string:match("^%a+ +[1-9]%d? – %a+ +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month initial month-day-range: month day – month day, year; uses spaced endash
month, day, month2, day2, anchor_year, year=date_string:match("(%a+) +(%d%d?) – (%a+) +(%d%d?), +((%d%d%d%d)%a?)");
if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end
month = get_month_number (month);
month2 = get_month_number (month2);
elseif date_string:match("^Winter +[1-9]%d%d%d–[1-9]%d%d%d%a?$") then -- special case Winter year-year; year separated with unspaced endash
year, anchor_year, year2=date_string:match("Winter +(%d%d%d%d)–((%d%d%d%d)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years
if 1 ~= tonumber(year2) - tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
elseif date_string:match("^%a+ +[1-9]%d%d%d% – %a+ +[1-9]%d%d%d%a?$") then -- month/season year - month/season year; separated by spaced endash
month, year, month2, anchor_year, year2=date_string:match("(%a+) +(%d%d%d%d) – (%a+) +((%d%d%d%d)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
if not((0 ~= get_month_number(month) and 0 ~= get_month_number(month2)) or -- both must be month year or season year, not mixed
(0 ~= get_season_number(month) and 0 ~= get_season_number(month2))) then return false; end
elseif date_string:match ("^%a+–%a+ +[1-9]%d%d%d%a?$") then -- month/season range year; months separated by endash
month, month2, anchor_year, year=date_string:match ("(%a+)–(%a+)%s*((%d%d%d%d)%a?)");
if (not is_valid_month_season_range(month, month2)) or (not is_valid_year(year)) then
return false;
end
elseif date_string:match("^%a+ +%d%d%d%d%a?$") then -- month/season year
month, anchor_year, year=date_string:match("(%a+)%s*((%d%d%d%d)%a?)");
if not is_valid_year(year) then return false; end
if not is_valid_month_or_season (month) then return false; end
elseif date_string:match("^[1-9]%d%d%d?–[1-9]%d%d%d?%a?$") then -- Year range: YYY-YYY or YYY-YYYY or YYYY–YYYY; separated by unspaced endash; 100-9999
year, anchor_year, year2=date_string:match("(%d%d%d%d?)–((%d%d%d%d?)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
elseif date_string:match("^[1-9]%d%d%d–%d%d%a?$") then -- Year range: YYYY–YY; separated by unspaced endash
local century;
year, century, anchor_year, year2=date_string:match("((%d%d)%d%d)–((%d%d)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years
if 13 > tonumber(year2) then return false; end -- don't allow 2003-05 which might be May 2003
year2 = century..year2; -- add the century to year2 for comparisons
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
elseif date_string:match("^[1-9]%d%d%d?%a?$") then -- year; here accept either YYY or YYYY
anchor_year, year=date_string:match("((%d%d%d%d?)%a?)");
if false == is_valid_year(year) then
return false;
end
else
return false; -- date format not one of the MOS:DATE approved formats
end
local result=true; -- check whole dates for validity; assume true because not all dates will go through this test
if 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 == day2 then -- YMD (simple whole date)
result=is_valid_date(year,month,day);
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 ~= day2 then -- YMD-d (day range)
result=is_valid_date(year,month,day);
result=result and is_valid_date(year,month,day2);
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-md (day month range)
result=is_valid_date(year,month,day);
result=result and is_valid_date(year,month2,day2);
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 ~= year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-ymd (day month year range)
result=is_valid_date(year,month,day);
result=result and is_valid_date(year2,month2,day2);
end
if false == result then return false; end
-- if here, then date_string is valid; get coins_date from date_string (leave CITEREF disambiguator) ...
coins_date=date_string:match("^(.+%d)%a?$"); -- last character of valid disambiguatable date is always a digit
coins_date= mw.ustring.gsub(coins_date, "–", "-" ); -- ... and replace any ndash with a hyphen
return true, anchor_year, coins_date; -- format is good and date string represents a real date
end
--[[
Cycle the date-holding parameters in passed table date_parameters_list through check_date() to check compliance with MOS:DATE. For all valid dates, check_date() returns
true. The |date= parameter test is unique, it is the only date holding parameter from which values for anchor_year (used in CITEREF identifiers) and COinS_date (used in
the COinS metadata) are derived. The |date= parameter is the only date-holding parameter that is allowed to contain the no-date keywords "n.d." or "nd" (without quotes).
Unlike most error messages created in this module, only one error message is created by this function. Because all of the date holding parameters are processed serially,
a single error message is created as the dates are tested.
]]
function p.dates(date_parameters_list)
local anchor_year; -- will return as nil if the date being tested is not |date=
local COinS_date; -- will return as nil if the date being tested is not |date=
local error_message ="";
local good_date=false;
for k, v in pairs(date_parameters_list) do -- for each date-holding parameter in the list
if is_set(v) then -- if the parameter has a value
if v:match("^c%. [1-9]%d%d%d?%a?$") then -- special case for c. year or with or without CITEREF disambiguator - only |date= and |year=
local year = v:match("c%. ([1-9]%d%d%d?)%a?"); -- get the year portion so it can be tested
if 'date'==k then
anchor_year, COinS_date = v:match("((c%. [1-9]%d%d%d?)%a?)"); -- anchor year and COinS_date only from |date= parameter
good_date = is_valid_year(year);
elseif 'year'==k then
good_date = is_valid_year(year);
end
elseif 'date'==k then -- if the parameter is |date=
if v:match("n%.d%.%a?") then -- if |date=n.d. with or without a CITEREF disambiguator
good_date, anchor_year, COinS_date = true, v:match("((n%.d%.)%a?)"); --"n.d."; no error when date parameter is set to no date
elseif v:match("nd%a?$") then -- if |date=nd with or without a CITEREF disambiguator
good_date, anchor_year, COinS_date = true, v:match("((nd)%a?)"); --"nd"; no error when date parameter is set to no date
else
good_date, anchor_year, COinS_date = check_date (v); -- go test the date
end
else -- any other date-holding parameter
good_date = check_date (v); -- go test the date
end
if false==good_date then -- assemble one error message so we don't add the tracking category multiple times
if is_set(error_message) then -- once we've added the first portion of the error message ...
error_message=error_message .. ", "; -- ... add a comma space separator
end
error_message=error_message .. "|" .. k .. "="; -- add the failed parameter
end
end
end
return anchor_year, COinS_date, error_message; -- and done
end
return p;
a618b80cb2842cc9459a692e075576b23f86cadf
Módulo:Citas/Configuración
828
52
102
2023-02-28T18:53:34Z
Media Wiki>LuchoCR
0
Cambió la configuración de protección de «[[Módulo:Citas/Configuración]]»: Módulo o plantilla muy utilizado/sensible ([Editar=Permitir solo editores de plantillas y administradores] (indefinido))
Scribunto
text/plain
citation_config = {};
--[[
List of namespaces that should not be included in citation
error categories. Same as setting notracking = true by default
Note: Namespace names should use underscores instead of spaces.de
citation_config.uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk',
'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk',
'Module_talk', 'MediaWiki_talk' };
]]
citation_config.uncategorized_namespaces = { 'Usuario', 'Usuaria', 'Discusión', 'Usuario_discusión', 'Usuario_Discusión','Usuaria_Discusión', 'Usuaria_discusión', 'Wikipedia_discusión', 'Archivo_discusión',
'Plantilla_discusión', 'Ayuda_discusión', 'Categoría_discusión', 'Portal_Discusión', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk',
'Módulo_discusión', 'MediaWiki_discusión', 'Wikipedia', 'Wikiproyecto', 'Wikiproyecto_discusión' };
--[[
Translation table
The following contains fixed text that may be output as part of a citation.
This is separated from the main body to aid in future translations of this
module.
]]
citation_config.messages = {
['published'] = 'publicado el $1', --'published $1',
['lay summary'] = 'Resumen divulgativo', --'Lay summary',
['retrieved'] = 'Consultado el $1', --'Retrieved $1',
['inactive'] = 'inactivo', --'inactive',
['archived-dead'] = 'Archivado desde $1 el $2',-- 'Archived from $1 on $2',
['archived-not-dead'] = '$1 desde el original el $2', --'$1 from the original on $2',
['archived-missing'] = 'Archivado desde el original$1 el $2', --'Archived from the original$1 on $2',
['archived'] = 'Archivado', --'Archived',
['original'] = 'el original', --'the original',
['editor'] = 'ed.',
['editors'] = 'eds.',
['edition'] = '($1 edición)', --'($1 ed.)',
['interview'] = 'Entrevista con $1',
['sin edición'] = '($1)', -- No existe en la Wikipedia inglesa
['episode'] = 'episode',
['season'] = 'season',
['series'] = 'series',
['cartography'] = 'Cartography by $1',
['section'] = 'Section $1',
['inset'] = '$1 inset',
['traductor'] = '($1, trad.)',
['traductores'] = '($1, trads.)',
['written'] = 'Escrito en $1', --'Written at $1',
['in'] = 'En', --'In',
['et al'] = "''et al.''", -- 'et al.', l
['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(requiere suscripción)</span>' ..
'[[Categoría:Wikipedia:Páginas con referencias que requieren suscripción]]',
['registration'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(requiere registro)</span>' ..
'[[Categoría:Wikipedia:Páginas con referencias que requieren registro]]',
['language'] = '<span style="color:#555;">(en $1)</span>', -- '(in $1)',
['format'] = '<span style="color:#555;">($1)</span>', -- No existe en la Wikipedia inglesa
['via'] = " – via $1",
['event'] = 'Escena en', --'Event occurs at',
['minutes'] = 'minutes in',
['id'] = '<small>$1</small>', -- Nuevo. No existe en la plantilla original
['quoted-title'] = '«$1»', --'"$1"',
['italic-title'] = "''$1''",
['trans-quoted-title'] = "[$1]",
['trans-italic-title'] = "[''$1'']",
['quoted-text'] = '«$1»', -- '"$1"',
['parameter'] = '<code>|$1=</code>',
['parameter-separator'] = ', ',
['parameter-final-separator'] = ', y ', -- ', and ',
['parameter-pair-separator'] = ' y ', -- ' and ',
-- Error output
['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',
-- Determines the location of the help page
['help page link'] = 'Ayuda:Errores en las referencias', --'Help:CS1 errors',
['help page label'] = 'ayuda', --'help',
-- Internal errors (should only occur if configuration is bad)
['undefined_error'] = 'Called with an undefined error condition',
['unknown_manual_ID'] = 'Unrecognized manual ID mode',
['unknown_ID_mode'] = 'Unrecognized ID mode',
['unknown_argument_map'] = 'Argument map not defined for this variable',
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
}
-- Aliases table for commonly passed parameters
citation_config.aliases = {
['AccessDate'] = {'fechaacceso', 'fecha-acceso', 'accessdate', 'access-date'}, --{'accessdate', 'accessyear'},
['AñoAcceso'] = {'añoacceso', 'accessyear'}, -- Inexistente en la plantilla original
['Agency'] = {'agencia', 'agency'},
['AirDate'] = 'airdate',
['ArchiveDate'] = {'fechaarchivo', 'archive-date', 'archivedate' },
['ArchiveURL'] = {'urlarchivo', 'archive-url', 'archiveurl' },
['At'] = {'en', 'at'},
['Authors'] = {'autores', 'persona', 'personas', 'authors', 'people', 'host'},
['AuthorFormat'] = {"author-format", "authorformat" },
['AuthorSeparator'] = {'separador-autores', 'author-separator'},
['AuthorNameSeparator'] = {'separador-nombres', 'author-name-separator'},
['BookTitle'] = {'book-title', 'booktitle', 'títulolibro'},
['Callsign'] = 'callsign', -- cite interview
['Cartography'] = 'cartography',
['Chapter'] = {'capítulo', 'artículo', 'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated used by old cite AV media notes; remove after 1 October 2014;
['ChapterLink'] = 'chapterlink',
['ChapterURL'] = {'url-capítulo', 'urlcapítulo', 'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'sectionurl' },
['City'] = 'city', -- cite interview
['Coauthors'] = {'coautores', 'coautor', 'coauthors', 'coauthor' },
['Cointerviewers'] = {'coentrevistadores', 'cointerviewers'}, -- cite interview
['Conference'] = {'conference', 'event', 'conferencia' },
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl', 'urlconferencia'},
['Date'] = {'fecha','date'},
['Day'] = {'día', 'day'},
['DeadURL'] = {'deadurl','urlmuerta'},
['Degree'] = {'degree', 'grado'},
['DisplayAuthors'] = {"número-autores", "display-authors", "displayauthors"},
['DisplayEditors'] = {"número-editores", "display-editors", "displayeditors"},
['Docket'] = 'docket',
['DoiBroken'] = {'fecha-doi-roto', 'doi_inactivedate', 'doi_brokendate', 'DoiBroken', 'doi-broken-date'},
['Edition'] = {'edición', 'edition'},
['Editors'] = 'editors',
['EditorFormat'] = {"editor-format", "editorformat" },
['EditorSeparator'] = 'editor-separator',
['EditorNameSeparator'] = 'editor-name-separator',
['Embargo'] = {'Embargo', 'embargo'},
['Extra'] = 'extra', -- Inexistente en la plantilla original
['Format'] = {'formato', 'format'},
['ID'] = {'id', 'ID', 'publisherid'}, -- publisherid is deprecated; used by old cite AV media notes and old cite DVD notes; remove after 1 October 2014;
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
['Inset'] = 'inset',
['Interviewer'] = {'entrevistador', 'interviewer'}, -- cite interview
['Issue'] = {'número', 'issue', 'number'},
['Language'] = {'idioma', 'language', 'in'},
['LastAuthorAmp'] = {'ampersand', 'lastauthoramp', 'last-author-amp'},
['LayDate'] = {'fecharesumen', 'fecha-resumen', 'fechaprofano', 'laydate'},
['LaySource'] = {'fuenteresumen', 'fuenteprofano', 'laysource'},
['LayURL'] = {'resumen', 'resumenprofano', 'layurl', 'laysummary'},
['MesAcceso'] = {'mesacceso', 'accessmonth'}, -- Inexistente en la plantilla original
['Minutes'] = 'minutes',
['Month'] = {'mes', 'month'},
['NameSeparator'] = 'name-separator',
['Network'] = 'network',
['NoPP'] = {'sinpp', 'nopp'},
['NoTracking'] = {"template doc demo", 'nocat',
'notracking', "no-tracking"},
['OrigYear'] = {'año-original', 'origyear', 'titleyear'}, -- titleyear is deprecated; used in old cite DVD notes; remove after 1 October 2014
['Others'] = {'otros', 'others', 'artist', 'director', 'bandname'}, -- artist and director are deprecated; used in old cite AV media notes and old cite DVD notes; remove after 1 October 2014
-- bandname ya es obsoleto en la wikipedia inglesa.
['Page'] = {'página', 'p', 'page'},
['Pages'] = {'páginas', 'pp', 'pages'},
['Passage'] = 'pasaje',
['PassageURL'] = {'enlace-pasaje', 'url-pasaje'},
['Periodical'] = {'publicación', 'pub-periódica', 'periódico', 'revista', 'obra', 'journal', 'newspaper', 'magazine', 'work',
'website', 'sitioweb', 'sitio web', 'periodical', 'enciclopedia', 'encyclopedia', 'encyclopaedia', 'diccionario', 'dictionary'},
['Place'] = {'lugar', 'localización', 'ubicación', 'ciudad', 'place', 'location'},
['PPrefix'] = 'PPrefix',
['PPPrefix'] = 'PPPrefix',
['Program'] = 'program', -- cite interview
['PostScript'] = {'puntofinal', 'postscript'},
['PublicationDate'] = {'fecha-publicación', 'publicationdate', 'publication-date' },
['PublicationPlace'] = {'lugar-publicación', 'ubicación-publicación', 'publication-place', 'publicationplace' },
['PublisherName'] = {'editorial', 'publisher', 'distributor', 'institution'},
['Quote'] = {'cita', 'quote', 'quotation'},
['Ref'] = {'ref', 'Ref'},
['RegistrationRequired'] = {'registration', 'requiere-registro', 'requiereregistro', 'registro'},
['Scale'] = 'scale',
['Section'] = 'section',
['Season'] = {'season', 'temporada'},
['Separator'] = {'separador', 'separator'},
['Series'] = {'serie', 'versión', 'colección', 'series', 'version'},
['SeriesSeparator'] = 'series-separator',
['SeriesLink'] = 'serieslink',
['SeriesNumber'] = {'seriesnumber', 'seriesno'},
['SinEd'] = 'sined', -- Inexistente en la plantilla original
['Station'] = 'station',
['SubscriptionRequired'] = {'suscripción', 'subscription'},
['Time'] = {'tiempo', 'time'},
['TimeCaption'] = 'timecaption',
['Texto1'] = 1,
['Title'] = {'título', 'title'}, -- No pongo titre
['TitleLink'] = {'titlelink', 'episodelink', 'albumlink' }, -- albumlink is deprecated; used by old cite AV media notes; remove after 1 October 2014
['TitleNote'] = 'department',
['TitleType'] = {'tipo', 'medio', 'type', 'medium'},
['Traductor'] = 'traductor',
['Traductores'] = 'traductores',
['TransChapter'] = {'capítulo-trad','capítulotrad', 'trans-chapter', 'trans_chapter' },
['Transcript'] = 'transcript',
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
['TransQuote'] = {'cita-trad', 'citatrad', 'trans-quote', 'trans_quote' },
['TransTitle'] = {'trad-título', 'títulotrad', 'título_trad', 'título-trad', 'trans-title', 'trans_title' },
['URL'] = {'url', 'URL'},
['UrlAccess'] = {'url-acceso', 'url-access'},
['Via'] = 'via',
['Volume'] = {'volumen', 'volume'},
['Year'] = {'año', 'year'},
['AuthorList-First'] = {"nombre#", "nombres#", "author#-first", "author-first#",
"first#", "given#"},
['AuthorList-Last'] = {"apellido#", "apellidos#", "autor#", "author#-last", "author-last#",
"last#", "surname#", "Author#", "author#", "authors#", "subject#"},
['AuthorList-Link'] = {"enlace-autor#", "enlaceautor#", "author#-link", "author-link#",
"author#link", "authorlink#", "subjectlink#", "subject-link#"},
['AuthorList-Mask'] = {"máscara-autor#","máscaraautor#","author#-mask", "author-mask#",
"author#mask", "authormask#"},
['EditorList-First'] = {"nombre-editor#", "editor#-first",
"editor-first#", "editor-given#", "EditorGiven#"},
['EditorList-Last'] = {"apellido-editor#", "apellidos-editor#", "editor#-last", "editor-last#",
"editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
['EditorList-Link'] = {"enlace-editor#", "enlaceeditor#", "editor#-link", "editor-link#",
"editor#link", "editorlink#"},
['EditorList-Mask'] = {"editor#-mask", "editor-mask#",
"editor#mask", "editormask#"},
}
citation_config.parametros_a_implementar={ --No aparece en la Wikipedia inglesa
['urltrad']=true,
['script-title']=true
}
-- Default parameter values
citation_config.defaults = {
['DeadURL'] = 'yes',
['AuthorSeparator'] = ';', -- Por comprobar si poner ;  ¿No hace falta poner el espacio?
['EditorSeparator'] = ';',
['NameSeparator'] = ',', -- Por comprobar  
['PPrefix'] = "p. ",
['PPPrefix'] = "pp. ",
}
--[[
Error condition table
The following contains a list of IDs for various error conditions defined in the
code. For each ID, we specify a text message to display, an error category to
include, and whether the error message should be wrapped as a hidden comment.
Anchor changes require identical changes to matching anchor in Help:CS1 errors
]]
citation_config.error_conditions = {
accessdate_missing_url = {
message = '<code>|fechaacceso=</code> requiere <code>|url=</code>', --'<code>|accessdate=</code> requires <code>|url=</code>',
anchor = 'accessdate_missing_url',
category = 'Wikipedia:Páginas con referencias sin URL y con fecha de acceso', --'Pages using citations with accessdate and no URL',
hidden = true },
archive_missing_date = {
message = '<code>|urlarchivo=</code> requiere <code>|fechaarchivo=</code>', --'<code>|archiveurl=</code> requires <code>|archivedate=</code>',
anchor = 'archive_missing_date',
category = 'Wikipedia:Páginas con referencias sin fechaarchivo y con urlarchivo', --'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code>|urlarchivo=</code> requiere <code>|url=</code>', --'<code>|archiveurl=</code> requires <code>|url=</code>',
anchor = 'archive_missing_url',
category = 'Wikipedia:Páginas con referencias sin URL y con urlarchivo', --'Pages with archiveurl citation errors',
hidden = false },
bad_authorlink = {
message = 'Comprueba el valor del <code>|enlaceautor=</code>', -- 'Check <code>|authorlink=</code> value',
anchor = 'bad_authorlink',
category = 'Wikipedia:Páginas con referencias con enlaceautor incorrecto', -- 'CS1 errors: authorlink',
hidden = false },
bad_date = {
message = 'Check date values in: <code>$1</code>',
anchor = 'bad_date',
category = 'CS1 errors: dates',
hidden = true },
bad_doi = {
message = '<code>|doi=</code> incorrecto',--'Check <code>|doi=</code> value',
anchor = 'bad_doi',
category = 'Wikipedia:Páginas con DOI incorrectos', --'Pages with DOI errors',
hidden = false },
bad_hdl = {
message = 'Check <code class="cs1-code">|hdl=</code> value',
anchor = 'bad_hdl',
category = 'CS1 errors: HDL',
hidden = false },
bad_isbn = {
message = '<code>|isbn=</code> incorrecto', --'Check <code>|isbn=</code> value',
anchor = 'bad_isbn',
category = 'Wikipedia:Páginas con ISBN incorrectos', --'Pages with ISBN errors',
hidden = false },
bad_issn = {
message = '<code>|issn=</code> incorrecto',--'Check <code>|issn=</code> value',
anchor = 'bad_issn',
category = 'Wikipedia:Páginas con ISSN incorrectos', --'CS1 errors: ISSN',
hidden = false },
bad_lccn = {
message = '<code>|lccn=</code> incorrecto', --'Check <code>|lccn=</code> value',
anchor = 'bad_lccn',
category = 'Wikipedia:Páginas con LCCN incorrectos', --'CS1 errors: LCCN',
hidden = false },
bad_ol = {
message = 'Check <code>|ol=</code> value',
anchor = 'bad_ol',
category = 'Pages with OL errors',
hidden = false },
bad_pmc = {
message = '<code>|pmc=</code> incorrecto', --'Check <code>|pmc=</code> value',
anchor = 'bad_pmc',
category = 'Wikipedia:Páginas con PMC incorrectos', --'CS1 errors: PMC',
hidden = false },
bad_pmid = {
message = '<code>|pmid=</code> incorrecto', --'Check <code>|pmid=</code> value',
anchor = 'bad_pmid',
category = 'Wikipedia:Páginas con PMID incorrectos', -- 'CS1 errors: PMID',
hidden = false },
bad_url = {
message = '<code>|url=</code> incorrecta', --'Check <code>|url=</code> scheme',
anchor = 'bad_url',
category = 'Wikipedia:Páginas con URL incorrectas', --'Pages with URL errors',
hidden = false },
bad_url_autorreferencia = {
message = '<code>|url=</code> incorrecta con autorreferencia',
anchor = 'bad_url_autorreferencia',
category = 'Wikipedia:Páginas con autorreferencias',
hidden = false },
bare_url_missing_title = {
message = '$1 sin título', --'$1 missing title',
anchor = 'bare_url_missing_title',
category = 'Wikipedia:Páginas con referencias sin título y con URL', -- 'Pages with citations having bare URLs',
hidden = false },
citation_missing_title = {
message = 'Falta el <code>|título=</code>', --'Missing or empty <code>|title=</code>',
anchor = 'citation_missing_title',
category = 'Wikipedia:Páginas con referencias sin título', --'Pages with citations lacking titles',
hidden = false },
cite_web_url = { -- this error applies to cite web and to cite podcast
message = 'Falta la <code>|url=</code>', --'Missing or empty <code>|url=</code>',
anchor = 'cite_web_url',
category = 'Wikipedia:Páginas con referencias web sin URL', --'Pages using web citations with no URL',
hidden = true },
coauthors_missing_author = {
message = '<code>|coautores=</code> requiere <code>|autor=</code>', --'<code>|coauthors=</code> requires <code>|author=</code>',
anchor = 'coauthors_missing_author',
category = 'Wikipedia:Páginas con referencias sin autor y con coautores', --'CS1 errors: coauthors without author',
hidden = false },
deprecated_params = {
message = 'La referencia utiliza el parámetro obsoleto <code>|$1=</code>', --'Cite uses deprecated parameters',
anchor = 'deprecated_params',
category = 'Wikipedia:Páginas con referencias con parámetros obsoletos', -- 'Pages containing cite templates with deprecated parameters',
hidden = true },
empty_citation = {
message = 'Referencia vacía', 'Empty citation', --'Empty citation',
anchor = 'empty_citation',
category = 'Wikipedia:Páginas con referencias vacías', --'Pages with empty citations',
hidden = false },
extra_pages = {
message = 'Extra <code>|páginas=</code> o <code>|en=</code>', --'Extra <code>|pages=</code> or <code>|at=</code>',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications', --'Pages with citations using conflicting page specifications',
hidden = false },
format_missing_url = {
message = '<code>|formato=</code> requiere <code>|url=</code>', --'<code>|format=</code> requires <code>|url=</code>',
anchor = 'format_missing_url',
category = 'Wikipedia:Páginas con referencias sin URL y con formato', --'Pages using citations with format and no URL',
hidden = true },
implict_etal_author = {
message = 'Se sugiere usar <code>|número-autores=</code>', --'<code>|displayauthors=</code> suggested',
anchor = 'displayauthors',
category = 'Wikipedia:Páginas con referencias con et al. implícito en los autores', --'Pages using citations with old-style implicit et al.',
hidden = true },
implict_etal_editor = {
message = 'Se sugiere usar <code>|número-editores=</code>', --'<code>|displayeditors=</code> suggested', --'<code>|displayeditors=</code> suggested',
anchor = 'displayeditors',
category = 'Wikipedia:Páginas con referencias con et al. implícito en los editores', --'Pages using citations with old-style implicit et al. in editors',
hidden = true },
parameter_ignored = {
message = 'Parámetro desconocido <code>|$1=</code> ignorado',
anchor = 'parameter_ignored',
category = 'Wikipedia:Páginas con referencias con parámetros desconocidos', --'Pages with citations using unsupported parameters',
hidden = false },
parameter_ignored_suggest = {
message = 'Parámetro desconocido <code>|$1=</code> ignorado (se sugiere <code>|$2=</code>)', --'Unknown parameter <code>|$1=</code> ignored (<code>|$2=</code> suggested)',
anchor = 'parameter_ignored_suggest',
category = 'Wikipedia:Páginas con referencias con parámetros sugeridos', --'Pages with citations using unsupported parameters',
hidden = false },
-- Pendiente implementar los parámetros urltrad de la cita web (No existe en la Wikipedia inglesa) y script-title.
parametro_por_implementar = {
message = 'Parámetro desconocido <code>|$1=</code> ignorado',
anchor = 'parametro_por_implementar',
category = 'Wikipedia:Páginas con referencias con parámetros por implementar',
hidden = false },
redundant_parameters = {
message = '$1 redundantes', --'More than one of $1 specified',
anchor = 'redundant_parameters',
category = 'Wikipedia:Páginas con referencias con parámetros redundantes', --'Pages with citations having redundant parameters',
hidden = false },
text_ignored = {
message = 'Texto «$1» ignorado', --'Text "$1" ignored',
anchor = 'text_ignored',
category = 'Wikipedia:Páginas con referencias con parámetros sin nombre', -- 'Pages with citations using unnamed parameters',
hidden = false },
trans_missing_chapter = {
message = '<code>|capítulo-trad=</code> requiere <code>|capítulo=</code>', --'<code>|trans_chapter=</code> requires <code>|chapter=</code>',
anchor = 'trans_missing_chapter',
category = 'Wikipedia:Páginas con referencias con términos traducidos sin el original', --'Pages with citations using translated terms without the original',
hidden = false },
trans_missing_title = {
message = '<code>|título-trad=</code> requiere <code>|título=</code>',--'<code>|trans_title=</code> requires <code>|title=</code>',
anchor = 'trans_missing_title',
category = 'Wikipedia:Páginas con referencias con términos traducidos sin el original', --'Pages with citations using translated terms without the original',
hidden = false },
wikilink_in_url = {
message = 'Wikienlace dentro del título de la URL', -- 'Wikilink embedded in URL title',
anchor = 'wikilink_in_url',
category = 'Wikipedia:Páginas con referencias con wikienlaces dentro del título de la URL', -- 'Pages with citations having wikilinks embedded in URL titles',
hidden = false },
url_sugerida = { -- Se aplica cuando está informado el campo 1 con una url y la cita no tiene informada la url.
message = 'Texto «$1» ignorado (se sugiere <code>|$2=</code>)',
anchor = 'url_sugerida',
category = 'Wikipedia:Páginas con referencias con parámetros sugeridos (URL)',
hidden = false },
}
citation_config.id_handlers = {
['ARXIV'] = {
parameters = {'arxiv', 'ARXIV'},
link = 'arXiv',
label = 'arXiv',
mode = 'external',
prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
encode = false,
COinS = 'info:arxiv',
separator = ':',
},
['BIBCODE'] = {
parameters = {'bibcode', 'BIBCODE'},
link = 'Bibcode',
label = 'Bibcode',
mode = 'external',
prefix = 'http://adsabs.harvard.edu/abs/',
encode = false,
COinS = 'info:bibcode',
separator = ':',
},
['DOI'] = {
parameters = { 'doi', 'DOI' },
link = 'Digital object identifier',
label = 'doi',
mode = 'manual',
prefix = 'http://dx.doi.org/',
COinS = 'info:doi',
separator = ':',
encode = true,
},
['EISSN'] = {
parameters = {'eissn', 'EISSN'},
link = 'International Standard Serial Number#Electronic ISSN',
redirect = 'eISSN (identifier)',
q = 'Q46339674',
label = 'eISSN',
prefix = '//www.worldcat.org/issn/',
COinS = 'rft.eissn',
encode = false,
separator = ' ',
},
['HDL'] = {
parameters = { 'hdl', 'HDL' },
link = 'Handle System',
redirect = 'hdl (identifier)',
q = 'Q3126718',
mode = 'external',
label = 'hdl',
prefix = '//hdl.handle.net/',
COinS = 'info:hdl',
separator = ':',
encode = true,
custom_access = 'hdl-access',
},
['ISBN'] = {
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},
link = 'ISBN', --'International Standard Book Number',
label = 'ISBN',
mode = 'manual',
prefix = 'Special:BookSources/',
COinS = 'rft.isbn',
separator = ' ',
},
['ISSN'] = {
parameters = {'issn', 'ISSN'},
link = 'ISSN', --'International Standard Serial Number',
label = 'ISSN',
mode = 'manual',
prefix = '//portal.issn.org/resource/issn/',
COinS = 'rft.issn',
encode = false,
separator = ' ',
},
['JFM'] = {
parameters = {'jfm', 'JFM'},
link = 'Jahrbuch über die Fortschritte der Mathematik',
label = 'JFM',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'rft.jfm',
encode = true,
separator = ' ',
},
['JSTOR'] = {
parameters = {'jstor', 'JSTOR'},
link = 'JSTOR',
label = 'JSTOR',
mode = 'external',
prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
COinS = 'rft.jstor',
encode = true,
separator = ' ',
},
['LCCN'] = {
parameters = {'LCCN', 'lccn'},
link = 'Library of Congress Control Number',
label = 'LCCN',
mode = 'manual',
prefix = 'http://lccn.loc.gov/',
COinS = 'rft.lccn',
encode = false,
separator = ' ',
},
['MR'] = {
parameters = {'MR', 'mr'},
link = 'Mathematical Reviews',
label = 'MR',
mode = 'external',
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
COinS = 'rft.mr',
encode = true,
separator = ' ',
},
['OCLC'] = {
parameters = {'OCLC', 'oclc'},
link = 'OCLC', --'Online Computer Library Center',
label = 'OCLC',
mode = 'external',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
encode = true,
separator = ' ',
},
['OL'] = {
parameters = { 'ol', 'OL' },
link = 'Open Library',
label = 'OL',
mode = 'manual',
COinS = 'info:olnum',
separator = ' ',
encode = true,
},
['OSTI'] = {
parameters = {'OSTI', 'osti'},
link = 'Office of Scientific and Technical Information',
label = 'OSTI',
mode = 'external',
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
COinS = 'info:osti',
encode = true,
separator = ' ',
},
['PMC'] = {
parameters = {'PMC', 'pmc'},
link = 'PubMed Central',
label = 'PMC',
mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',
suffix = " ",
COinS = 'info:pmc',
encode = true,
separator = ' ',
},
['PMID'] = {
parameters = {'PMID', 'pmid'},
link = 'PubMed Identifier',
label = 'PMID',
mode = 'manual', -- changed from external manual to support PMID validation
prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
COinS = 'info:pmid',
encode = false,
separator = ' ',
},
['RFC'] = {
parameters = {'RFC', 'rfc'},
link = 'Request for Comments',
label = 'RFC',
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'info:rfc',
encode = false,
separator = ' ',
},
['S2CID'] = {
parameters = {'s2cid', 'S2CID'},
link = 'Semantic Scholar',
label = 'S2CID',
mode = 'external',
prefix = 'https://api.semanticscholar.org/CorpusID:',
COinS = 'pre', -- use prefix value
encode = false,
separator = ' ',
},
['SSRN'] = {
parameters = {'SSRN', 'ssrn'},
link = 'Social Science Research Network',
label = 'SSRN',
mode = 'external',
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
COinS = 'info:ssrn',
encode = true,
separator = ' ',
},
['ZBL'] = {
parameters = {'ZBL', 'zbl'},
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'info:zbl',
encode = true,
separator = ' ',
},
['WIKIDATA'] = {
parameters = {'wikidata'},
link = 'Wikidata',
label = 'Wikidata',
mode = 'internal',
prefix = ':d:',
COinS = '', -- ?
encode = false,
separator = ' ',
}
}
return citation_config;
8989c97657c967f6b96f0c6b26eae414b157b881
Plantilla:Leyenda
10
85
168
2023-02-28T19:35:10Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Leyenda]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 105, en 53742 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<span style="margin:0px; padding-bottom:1px; font-size:{{{tamaño|90%}}}; {{#ifeq:{{{vertical|}}}|0| |display:block;}}"><span style="border: 1px solid; border-color: {{{border|{{{borde|black}}}}}}; background-color:{{{1|none}}}; color:{{{color|{{{color2|white}}}}}}"> {{{texto2|}}} </span> {{{2|}}}</span><noinclude>{{documentación}}</noinclude>
928b10b3c29e92d885bfc14ee2139a125ecc117c
Plantilla:Lista desplegable
10
47
92
2023-02-28T19:36:56Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Lista desplegable]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 185, en 36498 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<div class="mw-collapsible mw-collapsed" style="font-size:95%;{{#if:{{{marco_estilo|}}}
|{{{marco_estilo|}}}
|border:none; padding: 0;
}}">
<div style="{{#if:{{{título_estilo|}}}|{{{título_estilo|}}}|width:100%; background:transparent; font-weight:bold" align="left}}">{{#if:{{{título|}}}{{{title|}}}
|{{{título|}}}{{{title|}}}
|Ver lista
}}</div><div class="mw-collapsible-content" style="{{#if:{{{lista_estilo|}}}
|{{{lista_estilo|}}}
|text-align:left;
}}"><!--
-->{{#if:{{{texto|}}} |{{{texto|}}}}}<!--
-->{{#if:{{{1|}}} |{{{1|}}} }}<!--
-->{{#if:{{{2|}}} |<br />{{{2|}}} }}<!--
-->{{#if:{{{3|}}} |<br />{{{3|}}} }}<!--
-->{{#if:{{{4|}}} |<br />{{{4|}}} }}<!--
-->{{#if:{{{5|}}} |<br />{{{5|}}} }}<!--
-->{{#if:{{{6|}}} |<br />{{{6|}}} }}<!--
-->{{#if:{{{7|}}} |<br />{{{7|}}} }}<!--
-->{{#if:{{{8|}}} |<br />{{{8|}}} }}<!--
-->{{#if:{{{9|}}} |<br />{{{9|}}} }}<!--
-->{{#if:{{{10|}}} |<br />{{{10|}}} }}<!--
-->{{#if:{{{11|}}} |<br />{{{11|}}} }}<!--
-->{{#if:{{{12|}}} |<br />{{{12|}}} }}<!--
-->{{#if:{{{13|}}} |<br />{{{13|}}} }}<!--
-->{{#if:{{{14|}}} |<br />{{{14|}}} }}<!--
-->{{#if:{{{15|}}} |<br />{{{15|}}} }}<!--
-->{{#if:{{{16|}}} |<br />{{{16|}}} }}<!--
-->{{#if:{{{17|}}} |<br />{{{17|}}} }}<!--
-->{{#if:{{{18|}}} |<br />{{{18|}}} }}<!--
-->{{#if:{{{19|}}} |<br />{{{19|}}} }}<!--
-->{{#if:{{{20|}}} |<br />{{{20|}}} }}<!--
-->{{#if:{{{21|}}} |<br />{{{21|}}} }}<!--
-->{{#if:{{{22|}}} |<br />{{{22|}}} }}<!--
-->{{#if:{{{23|}}} |<br />{{{23|}}} }}<!--
-->{{#if:{{{24|}}} |<br />{{{24|}}} }}<!--
-->{{#if:{{{25|}}} |<br />{{{25|}}} }}<!--
-->{{#if:{{{26|}}} |<br />{{{26|}}} }}<!--
-->{{#if:{{{27|}}} |<br />{{{27|}}} }}<!--
-->{{#if:{{{28|}}} |<br />{{{28|}}} }}<!--
-->{{#if:{{{29|}}} |<br />{{{29|}}} }}<!--
-->{{#if:{{{30|}}} |<br />{{{30|}}} }}<!--
-->{{#if:{{{31|}}} |<br />{{{31|}}} }}<!--
-->{{#if:{{{32|}}} |<br />{{{32|}}} }}<!--
-->{{#if:{{{33|}}} |<br />{{{33|}}} }}<!--
-->{{#if:{{{34|}}} |<br />{{{34|}}} }}<!--
-->{{#if:{{{35|}}} |<br />{{{35|}}} }}<!--
-->{{#if:{{{36|}}} |<br />{{{36|}}} }}<!--
-->{{#if:{{{37|}}} |<br />{{{37|}}} }}<!--
-->{{#if:{{{38|}}} |<br />{{{38|}}} }}<!--
-->{{#if:{{{39|}}} |<br />{{{39|}}} }}<!--
-->{{#if:{{{40|}}} |<br />{{{40|}}} }}<!--
-->{{#if:{{{41|}}} |<br />{{{41|}}} }}<!--
-->{{#if:{{{42|}}} |<br />{{{42|}}} }}<!--
-->{{#if:{{{43|}}} |<br />{{{43|}}} }}<!--
-->{{#if:{{{44|}}} |<br />{{{44|}}} }}<!--
-->{{#if:{{{45|}}} |<br />{{{45|}}} }}<!--
-->{{#if:{{{46|}}} |<br />{{{46|}}} }}<!--
-->{{#if:{{{47|}}} |<br />{{{47|}}} }}<!--
-->{{#if:{{{48|}}} |<br />{{{48|}}} }}<!--
-->{{#if:{{{49|}}} |<br />{{{49|}}} }}<!--
-->{{#if:{{{50|}}} |<br />{{{50|}}} }}<!--
-->{{#if:{{{51|}}} |<br />{{{51|}}} }}<!--
-->{{#if:{{{52|}}} |<br />{{{52|}}} }}<!--
-->{{#if:{{{53|}}} |<br />{{{53|}}} }}<!--
-->{{#if:{{{54|}}} |<br />{{{54|}}} }}<!--
-->{{#if:{{{55|}}} |<br />{{{55|}}} }}<!--
-->{{#if:{{{56|}}} |<br />{{{56|}}} }}<!--
-->{{#if:{{{57|}}} |<br />{{{57|}}} }}<!--
-->{{#if:{{{58|}}} |<br />{{{58|}}} }}<!--
-->{{#if:{{{59|}}} |<br />{{{59|}}} }}<!--
-->{{#if:{{{60|}}} |<br />{{{60|}}} }}<!--
-->{{#if:{{{61|}}} |<br />{{{61|}}} }}<!--
-->{{#if:{{{62|}}} |<br />{{{62|}}} }}<!--
-->{{#if:{{{63|}}} |<br />{{{63|}}} }}<!--
-->{{#if:{{{64|}}} |<br />{{{64|}}} }}<!--
-->{{#if:{{{65|}}} |<br />{{{65|}}} }}<!--
-->{{#if:{{{66|}}} |<br />{{{66|}}} }}<!--
-->{{#if:{{{67|}}} |<br />{{{67|}}} }}<!--
-->{{#if:{{{68|}}} |<br />{{{68|}}} }}<!--
-->{{#if:{{{69|}}} |<br />{{{69|}}} }}<!--
-->{{#if:{{{70|}}} |<br />{{{70|}}} }}<!--
-->{{#if:{{{71|}}} |<br />{{{71|}}} }}<!--
-->{{#if:{{{72|}}} |<br />{{{72|}}} }}<!--
-->{{#if:{{{73|}}} |<br />{{{73|}}} }}<!--
-->{{#if:{{{74|}}} |<br />{{{74|}}} }}<!--
-->{{#if:{{{75|}}} |<br />{{{75|}}} }}<!--
-->{{#if:{{{76|}}} |<br />{{{76|}}} }}<!--
-->{{#if:{{{77|}}} |<br />{{{77|}}} }}<!--
-->{{#if:{{{78|}}} |<br />{{{78|}}} }}<!--
-->{{#if:{{{79|}}} |<br />{{{79|}}} }}<!--
-->{{#if:{{{80|}}} |<br />{{{80|}}} }}<!--
-->{{#if:{{{81|}}} |<br />{{{81|}}} }}<!--
-->{{#if:{{{82|}}} |<br />{{{82|}}} }}<!--
-->{{#if:{{{83|}}} |<br />{{{83|}}} }}<!--
-->{{#if:{{{84|}}} |<br />{{{84|}}} }}<!--
-->{{#if:{{{85|}}} |<br />{{{85|}}} }}<!--
-->{{#if:{{{86|}}} |<br />{{{86|}}} }}<!--
-->{{#if:{{{87|}}} |<br />{{{87|}}} }}<!--
-->{{#if:{{{88|}}} |<br />{{{88|}}} }}<!--
-->{{#if:{{{89|}}} |<br />{{{89|}}} }}<!--
-->{{#if:{{{90|}}} |<br />{{{90|}}} }}<!--
-->{{#if:{{{91|}}} |<br />{{{91|}}} }}<!--
-->{{#if:{{{92|}}} |<br />{{{92|}}} }}<!--
-->{{#if:{{{93|}}} |<br />{{{93|}}} }}<!--
-->{{#if:{{{94|}}} |<br />{{{94|}}} }}<!--
-->{{#if:{{{95|}}} |<br />{{{95|}}} }}<!--
-->{{#if:{{{96|}}} |<br />{{{96|}}} }}<!--
-->{{#if:{{{97|}}} |<br />{{{97|}}} }}<!--
-->{{#if:{{{98|}}} |<br />{{{98|}}} }}<!--
-->{{#if:{{{99|}}} |<br />{{{99|}}} }}<!--
-->{{#if:{{{100|}}} |<br />{{{100|}}} }}<!--
-->{{#if:{{{101|}}} |<br />{{{101|}}} }}<!--
-->{{#if:{{{102|}}} |<br />{{{102|}}} }}<!--
-->{{#if:{{{103|}}} |<br />{{{103|}}} }}<!--
-->{{#if:{{{104|}}} |<br />{{{104|}}} }}<!--
-->{{#if:{{{105|}}} |<br />{{{105|}}} }}<!--
-->{{#if:{{{106|}}} |<br />{{{106|}}} }}<!--
-->{{#if:{{{107|}}} |<br />{{{107|}}} }}<!--
-->{{#if:{{{108|}}} |<br />{{{108|}}} }}<!--
-->{{#if:{{{109|}}} |<br />{{{109|}}} }}<!--
-->{{#if:{{{110|}}} |<br />{{{100|}}} }}<!--
-->{{#if:{{{111|}}} |<br />{{{111|}}} }}<!--
-->{{#if:{{{112|}}} |<br />{{{112|}}} }}<!--
-->{{#if:{{{113|}}} |<br />{{{113|}}} }}<!--
-->{{#if:{{{114|}}} |<br />{{{114|}}} }}<!--
-->{{#if:{{{115|}}} |<br />{{{115|}}} }}<!--
-->{{#if:{{{116|}}} |<br />{{{116|}}} }}<!--
-->{{#if:{{{117|}}} |<br />{{{117|}}} }}<!--
-->{{#if:{{{118|}}} |<br />{{{118|}}} }}<!--
-->{{#if:{{{119|}}} |<br />{{{119|}}} }}<!--
-->{{#if:{{{120|}}} |<br />{{{120|}}} }}<!--
-->{{#if:{{{121|}}} |<br />{{{121|}}} }}<!--
-->{{#if:{{{122|}}} |<br />{{{122|}}} }}<!--
-->{{#if:{{{123|}}} |<br />{{{123|}}} }}<!--
-->{{#if:{{{124|}}} |<br />{{{124|}}} }}<!--
-->{{#if:{{{125|}}} |<br />{{{125|}}} }}<!--
-->{{#if:{{{126|}}} |<br />{{{126|}}} }}<!--
-->{{#if:{{{127|}}} |<br />{{{127|}}} }}<!--
-->{{#if:{{{128|}}} |<br />{{{128|}}} }}<!--
-->{{#if:{{{129|}}} |<br />{{{129|}}} }}<!--
-->{{#if:{{{130|}}} |<br />{{{130|}}} }}<!--
--></div>
</div><noinclude>{{documentación}}</noinclude>
5936f694aa2921ce9a0501306c70a62fe9785d4e
Plantilla:Color
10
80
158
2023-02-28T19:42:23Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Color]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 349, en 16116 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{safesubst:#if:{{{2|}}}|<span style="color:{{safesubst:RGB|{{{1|}}}}}">{{{2}}}</span>|{{error|No se está usando la plantilla de forma adecuada.}}}}</includeonly><noinclude>
{{fusionar|t=20170814201026|plantilla:fontcolor}}
{{documentación}}
</noinclude>
a34ed0e5847dbe566024b448343919251e92b485
Plantilla:RGB
10
81
160
2023-02-28T19:45:31Z
Media Wiki>Platonides
0
Protegió «[[Plantilla:RGB]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 425, en 10873 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{{<includeonly>safesubst:</includeonly>#switch:{{<includeonly>safesubst:</includeonly>lc:{{{1|}}}}}
|blanco = #FFFFFF
|negro = #000000
|rojo = #8B0E0E
|rojo9 = #A11A1A
|rojo8 = #B42929
|rojo7 = #C63A3A
|rojo6 = #D54E4E
|rojo5 = #E26464
|rojo4 = #EC7B7B
|rojo3 = #F49494
|rojo2 = #FAAFAF
|rojo1 = #FDDBDB
|rojo0 = #FFF4F4
|rosa = #990000
|rosa9 = #AC0C0C
|rosa8 = #BD1B1B
|rosa7 = #CD2C2C
|rosa6 = #DA4040
|rosa5 = #E55757
|rosa4 = #EE6F6F
|rosa3 = #F58A8A
|rosa2 = #FAA7A7
|rosa1 = #FDD7D7
|rosa0 = #FFF3F3
|cereza = #660014
|cereza9 = #830921
|cereza8 = #9D1630
|cereza7 = #B42742
|cereza6 = #C73B57
|cereza5 = #D8526C
|cereza4 = #E66C84
|cereza3 = #F1889C
|cereza2 = #F8A6B6
|cereza1 = #FDD7DE
|cereza0 = #FFF3F6
|fuego = #5C0B01
|fuego9 = #7A1609
|fuego8 = #962516
|fuego7 = #AF3627
|fuego6 = #C44A3B
|fuego5 = #D66152
|fuego4 = #E4796C
|fuego3 = #F09488
|fuego2 = #F8B0A7
|fuego1 = #FDDBD7
|fuego0 = #FFF5F3
|tampico = #D23A00
|tampico9 = #DA470F
|tampico8 = #E25520
|tampico7 = #E86532
|tampico6 = #EE7547
|tampico5 = #F3865C
|tampico4 = #F79874
|tampico3 = #FAAB8D
|tampico2 = #FDC0A9
|tampico1 = #FEE2D8
|tampico0 = #FFF6F3
|naranja = #F46302
|naranja9 = #F66E13
|naranja8 = #F77925
|naranja7 = #F98538
|naranja6 = #FB924C
|naranja5 = #FC9F61
|naranja4 = #FDAD77
|naranja3 = #FEBC90
|naranja2 = #FECCAB
|naranja1 = #FEE8D8
|naranja0 = #FFF8F3
|arenque = #FF5B32
|arenque9 = #FF6640
|arenque8 = #FF724F
|arenque7 = #FF7E5E
|arenque6 = #FF8B6E
|arenque5 = #FF997F
|arenque4 = #FFA791
|arenque3 = #FFB7A5
|arenque2 = #FFC8BA
|arenque1 = #FFE6E0
|arenque0 = #FFF7F5
|mandarina = #FD8813
|mandarina9 = #FD9023
|mandarina8 = #FD9934
|mandarina7 = #FEA246
|mandarina6 = #FEAB59
|mandarina5 = #FEB56C
|mandarina4 = #FEC081
|mandarina3 = #FECB97
|mandarina2 = #FED7B0
|mandarina1 = #FEEDDB
|mandarina0 = #FFF9F4
|caoba = #5C1D01
|caoba9 = #7A2C09
|caoba8 = #963E16
|caoba7 = #AF5127
|caoba6 = #C4653B
|caoba5 = #D67B52
|caoba4 = #E4916C
|caoba3 = #F0A888
|caoba2 = #F8C0A7
|caoba1 = #FDE3D7
|caoba0 = #FFF7F3
|chocolate = #331400
|chocolate9 = #592706
|chocolate8 = #7C3B11
|chocolate7 = #9B5121
|chocolate6 = #B56836
|chocolate5 = #CC7F4D
|chocolate4 = #DE9668
|chocolate3 = #ECAD85
|chocolate2 = #F6C5A5
|chocolate1 = #FCE5D7
|chocolate0 = #FFF8F3
|cacao = #5C3201
|cacao9 = #7A4609
|cacao8 = #965B16
|cacao7 = #AF7027
|cacao6 = #C4853B
|cacao5 = #D69952
|cacao4 = #E4AD6C
|cacao3 = #F0C088
|cacao2 = #F8D2A7
|cacao1 = #FDECD7
|cacao0 = #FFF9F3
|bronce = #503D00
|bronce9 = #715807
|bronce8 = #8F7114
|bronce7 = #A98925
|bronce6 = #C09F39
|bronce5 = #D3B450
|bronce4 = #E3C66A
|bronce3 = #EFD686
|bronce2 = #F8E4A5
|bronce1 = #FDF4D7
|bronce0 = #FFFCF3
|centeno = #A05001
|centeno9 = #B25F0D
|centeno8 = #C26F1C
|centeno7 = #D07F2E
|centeno6 = #DC8F42
|centeno5 = #E79F58
|centeno4 = #EFB071
|centeno3 = #F6C08B
|centeno2 = #FBD1A8
|centeno1 = #FEEBD8
|centeno0 = #FFF9F3
|amarillo = #F8B000
|amarillo9 = #F9B611
|amarillo8 = #FABC23
|amarillo7 = #FBC237
|amarillo6 = #FCC84B
|amarillo5 = #FDCF60
|amarillo4 = #FDD676
|amarillo3 = #FEDE8F
|amarillo2 = #FEE6AA
|amarillo1 = #FEF3D8
|amarillo0 = #FFFBF3
|cromo = #FFCA28
|cromo9 = #FFCD37
|cromo8 = #FFD146
|cromo7 = #FFD556
|cromo6 = #FFD967
|cromo5 = #FFDE79
|cromo4 = #FFE28C
|cromo3 = #FFE7A0
|cromo2 = #FFEDB7
|cromo1 = #FFF7DE
|cromo0 = #FFFCF5
|lirio = #FFDC0B
|lirio9 = #FFDE1C
|lirio8 = #FFE12D
|lirio7 = #FFE340
|lirio6 = #FFE653
|lirio5 = #FFE967
|lirio4 = #FFEC7D
|lirio3 = #FFEF94
|lirio2 = #FFF3AE
|lirio1 = #FFF9DA
|lirio0 = #FFFDF4
|hiel = #E3E302
|hiel9 = #E8E812
|hiel8 = #EDED23
|hiel7 = #F1F136
|hiel6 = #F4F44A
|hiel5 = #F8F85F
|hiel4 = #FAFA76
|hiel3 = #FCFC8F
|hiel2 = #FDFDAA
|hiel1 = #FEFED8
|hiel0 = #FFFFF3
|cerveza = #968B36
|cerveza9 = #A99E44
|cerveza8 = #BBAF54
|cerveza7 = #CBBF65
|cerveza6 = #D9CD77
|cerveza5 = #E4DA89
|cerveza4 = #EEE49C
|cerveza3 = #F5EDB0
|cerveza2 = #FAF4C5
|cerveza1 = #FDFBE5
|cerveza0 = #FFFEF7
|kaki = #7A8E24
|kaki9 = #8EA332
|kaki8 = #A0B641
|kaki7 = #B1C753
|kaki6 = #C1D665
|kaki5 = #CEE279
|kaki4 = #DBEC8E
|kaki3 = #E5F4A4
|kaki2 = #EEFABC
|kaki1 = #F8FDE1
|kaki0 = #FDFFF6
|oliva = #467128
|oliva9 = #5A8B37
|oliva8 = #6EA449
|oliva7 = #82B95B
|oliva6 = #95CB6F
|oliva5 = #A7DB83
|oliva4 = #B9E898
|oliva3 = #C9F2AD
|oliva2 = #D9F9C3
|oliva1 = #EEFDE4
|oliva0 = #FAFFF7
|bosque = #27570D
|bosque9 = #397618
|bosque8 = #4D9327
|bosque7 = #62AC39
|bosque6 = #77C24E
|bosque5 = #8CD564
|bosque4 = #A1E47C
|bosque3 = #B6EF96
|bosque2 = #CAF8B2
|bosque1 = #E8FDDC
|bosque0 = #F8FFF5
|verde = #007100
|verde9 = #098B09
|verde8 = #17A417
|verde7 = #28B928
|verde6 = #3CCB3C
|verde5 = #53DB53
|verde4 = #6CE86C
|verde3 = #88F288
|verde2 = #A6F9A6
|verde1 = #D7FDD7
|verde0 = #F3FFF3
|pasto = #20AB18
|pasto9 = #2DBA25
|pasto8 = #3DC934
|pasto7 = #4DD546
|pasto6 = #60E058
|pasto5 = #74EA6D
|pasto4 = #89F183
|pasto3 = #9FF79A
|pasto2 = #B7FBB3
|pasto1 = #DFFEDD
|pasto0 = #F5FFF5
|loro = #53E800
|loro9 = #5FEC10
|loro8 = #6CF022
|loro7 = #79F335
|loro6 = #87F649
|loro5 = #96F95E
|loro4 = #A5FB75
|loro3 = #B6FC8E
|loro2 = #C8FEAA
|loro1 = #E6FED8
|loro0 = #F7FFF3
|kiwi = #60CC24
|kiwi9 = #6CD532
|kiwi8 = #79DE41
|kiwi7 = #86E651
|kiwi6 = #94EC63
|kiwi5 = #A2F276
|kiwi4 = #B1F68A
|kiwi3 = #C0FAA0
|kiwi2 = #D0FCB7
|kiwi1 = #EAFEDE
|kiwi0 = #F8FFF5
|lima = #99E64D
|lima9 = #A1EA59
|lima8 = #AAEF66
|lima7 = #B3F274
|lima6 = #BCF682
|lima5 = #C5F891
|lima4 = #CEFBA1
|lima3 = #D7FCB2
|lima2 = #E1FEC5
|lima1 = #F1FEE5
|lima0 = #FBFFF7
|manzana = #76CC76
|manzana9 = #81D581
|manzana8 = #8DDE8D
|manzana7 = #99E699
|manzana6 = #A6ECA6
|manzana5 = #B2F2B2
|manzana4 = #BEF6BE
|manzana3 = #CBFACB
|manzana2 = #D8FCD8
|manzana1 = #EDFEED
|manzana0 = #F9FFF9
|liquen = #287153
|liquen9 = #378B69
|liquen8 = #49A47E
|liquen7 = #5BB992
|liquen6 = #6FCBA5
|liquen5 = #83DBB7
|liquen4 = #98E8C7
|liquen3 = #ADF2D5
|liquen2 = #C3F9E3
|liquen1 = #E4FDF3
|liquen0 = #F7FFFB
|turquesa = #27AD77
|turquesa9 = #34BC85
|turquesa8 = #44CA94
|turquesa7 = #54D6A2
|turquesa6 = #66E1AF
|turquesa5 = #79EABD
|turquesa4 = #8EF1C9
|turquesa3 = #A3F7D5
|turquesa2 = #BAFBE1
|turquesa1 = #E0FEF2
|turquesa0 = #F6FFFB
|cian = #00C9AB
|cian9 = #0ED3B5
|cian8 = #1FDCC0
|cian7 = #31E4C9
|cian6 = #46EBD2
|cian5 = #5BF1DB
|cian4 = #73F6E2
|cian3 = #8DFAE9
|cian2 = #A9FCF0
|cian1 = #D8FEF8
|cian0 = #F3FFFD
|mar = #0A7294
|mar9 = #1684A8
|mar8 = #2595BA
|mar7 = #36A6CA
|mar6 = #4AB5D8
|mar5 = #60C3E4
|mar4 = #77D0ED
|mar3 = #91DCF5
|mar2 = #ADE7FA
|mar1 = #DAF5FD
|mar0 = #F4FCFF
|cobalto = #001051
|cobalto9 = #081C72
|cobalto8 = #142C8F
|cobalto7 = #253FA9
|cobalto6 = #3953C0
|cobalto5 = #506AD3
|cobalto4 = #6A82E3
|cobalto3 = #869BEF
|cobalto2 = #A5B6F8
|cobalto1 = #D7DEFD
|cobalto0 = #F3F6FF
|noche = #101625
|noche9 = #25304E
|noche8 = #3B4B73
|noche7 = #526594
|noche6 = #697EB0
|noche5 = #8195C8
|noche4 = #99ACDC
|noche3 = #B0C1EB
|noche2 = #C7D4F6
|noche1 = #E6EDFC
|noche0 = #F8FAFF
|añil = #1E1B43
|añil9 = #312D66
|añil8 = #464186
|añil7 = #5C56A2
|añil6 = #726CBB
|añil5 = #8882D0
|añil4 = #9E99E0
|añil3 = #B4AFEE
|añil2 = #C9C5F7
|añil1 = #E7E6FD
|añil0 = #F8F7FF
|enlace = #180099
|enlace9 = #250CAC
|enlace8 = #341BBD
|enlace7 = #452CCD
|enlace6 = #5940DA
|enlace5 = #6D57E5
|enlace4 = #836FEE
|enlace3 = #9B8AF5
|enlace2 = #B4A7FA
|enlace1 = #DDD7FD
|enlace0 = #F5F3FF
|azul = #0C389E
|azul9 = #1846B0
|azul8 = #2856C0
|azul7 = #3966CF
|azul6 = #4D78DC
|azul5 = #628AE6
|azul4 = #799DEF
|azul3 = #92B0F6
|azul2 = #AEC5FB
|azul1 = #DAE5FE
|azul0 = #F4F7FF
|rey = #0013C9
|rey9 = #0E21D3
|rey8 = #1F31DC
|rey7 = #3142E4
|rey6 = #4655EB
|rey5 = #5B6AF1
|rey4 = #737FF6
|rey3 = #8D97FA
|rey2 = #A9B1FC
|rey1 = #D8DBFE
|rey0 = #F3F4FF
|agua = #2964D1
|agua9 = #3770D9
|agua8 = #467CE1
|agua7 = #5689E8
|agua6 = #6797EE
|agua5 = #7AA4F3
|agua4 = #8DB2F7
|agua3 = #A2C1FA
|agua2 = #B9D1FD
|agua1 = #DFEAFE
|agua0 = #F5F9FF
|celeste = #5797D7
|celeste9 = #63A0DE
|celeste8 = #70AAE5
|celeste7 = #7DB4EB
|celeste6 = #8BBEF0
|celeste5 = #9AC7F5
|celeste4 = #A9D1F8
|celeste3 = #B9DAFB
|celeste2 = #CAE4FD
|celeste1 = #E7F3FE
|celeste0 = #F7FBFF
|violeta = #39124B
|violeta9 = #54206D
|violeta8 = #6F308B
|violeta7 = #8743A6
|violeta6 = #9E58BE
|violeta5 = #B26ED2
|violeta4 = #C586E2
|violeta3 = #D59FEE
|violeta2 = #E3B9F7
|violeta1 = #F4E0FD
|violeta0 = #FCF6FF
|uva = #622989
|uva9 = #75379F
|uva8 = #8747B3
|uva7 = #9959C5
|uva6 = #A96BD4
|uva5 = #B97FE1
|uva4 = #C893EC
|uva3 = #D5A9F4
|uva2 = #E2BFFA
|uva1 = #F2E2FD
|uva0 = #FBF6FF
|lavanda = #9F56B1
|lavanda9 = #AD64BF
|lavanda8 = #BB72CD
|lavanda7 = #C781D8
|lavanda6 = #D290E2
|lavanda5 = #DCA0EB
|lavanda4 = #E5AFF2
|lavanda3 = #ECBFF7
|lavanda2 = #F3D0FB
|lavanda1 = #FAEAFE
|lavanda0 = #FDF8FF
|glicina = #B0568A
|glicina9 = #BF6498
|glicina8 = #CC72A6
|glicina7 = #D881B3
|glicina6 = #E290C0
|glicina5 = #EBA0CB
|glicina4 = #F2AFD6
|glicina3 = #F7BFE0
|glicina2 = #FBD0E9
|glicina1 = #FEEAF5
|glicina0 = #FFF8FC
|dulce = #D10466
|dulce9 = #D91372
|dulce8 = #E1237E
|dulce7 = #E8368B
|dulce6 = #EE4A98
|dulce5 = #F35FA6
|dulce4 = #F776B4
|dulce3 = #FA8FC2
|dulce2 = #FDAAD2
|dulce1 = #FED9EA
|dulce0 = #FFF4F9
|ciruela = #83274D
|ciruela9 = #9A355F
|ciruela8 = #AF4571
|ciruela7 = #C25783
|ciruela6 = #D26A95
|ciruela5 = #E07EA6
|ciruela4 = #EB93B7
|ciruela3 = #F3A8C7
|ciruela2 = #FABFD7
|ciruela1 = #FDE2ED
|ciruela0 = #FFF6FA
|fucsia = #F4024B
|fucsia9 = #F61357
|fucsia8 = #F72564
|fucsia7 = #F93872
|fucsia6 = #FB4C80
|fucsia5 = #FC6190
|fucsia4 = #FD77A0
|fucsia3 = #FE90B1
|fucsia2 = #FEABC4
|fucsia1 = #FED8E4
|fucsia0 = #FFF3F7
|fresa = #C11541
|fresa9 = #CC234E
|fresa8 = #D7325C
|fresa7 = #E0446C
|fresa6 = #E8567C
|fresa5 = #EF6B8D
|fresa4 = #F5809E
|fresa3 = #F998B1
|fresa2 = #FCB1C4
|fresa1 = #FEDCE5
|fresa0 = #FFF4F7
|nube = #3F587C
|nube9 = #506C94
|nube8 = #6280AB
|nube7 = #7593BE
|nube6 = #87A5CF
|nube5 = #9AB6DE
|nube4 = #ACC5EA
|nube3 = #BED3F3
|nube2 = #D0E1F9
|nube1 = #EAF2FD
|nube0 = #F9FBFF
|cemento = #161B1D
|cemento9 = #374347
|cemento8 = #57676E
|cemento7 = #748890
|cemento6 = #8FA5AD
|cemento5 = #A8BDC6
|cemento4 = #BDD2DA
|cemento3 = #D0E3EA
|cemento2 = #E1EFF5
|cemento1 = #F2F9FC
|cemento0 = #FBFEFF
|gris = #302E2F
|gris9 = #575355
|gris8 = #7A7578
|gris7 = #999496
|gris6 = #B4AEB1
|gris5 = #CBC5C8
|gris4 = #DDD7DA
|gris3 = #ECE6E9
|gris2 = #F6F1F4
|gris1 = #FCFAFB
|gris0 = #FFFDFE
|#default = {{{1|#D0D0D0}}}
}}<noinclude>
{{Documentación}}
</noinclude>
b8252826330253067aa0be8cb05ed7b2523e6834
Plantilla:Barra de porcentaje
10
74
146
2023-02-28T19:49:57Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Barra de porcentaje]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 533, en 7416 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{| style="background-color:transparent"
| <div style="{{#ifeq:{{uc:{{{borde|}}}}}|NO||border:1px solid black;}} background-color: {{{background-color|#fff}}}; width: {{{ancho|65}}}px; height: 12px;"><div style="background-color:{{{c|#{{{hex|{{{3|DBDBDB}}}}}}}}}; width: {{#expr:floor({{{ancho|65}}}*{{formatnum:{{{1|50}}}|R}}/100)}}px; height: 12px;"></div></div>
| {{#if:{{{2|}}}|{{{2}}}|{{{1|50}}} %}}
|}<noinclude>{{Fusionar|t=20171124145248|Plantilla:Ficha de partido político/escaños}}{{documentación}}</noinclude>
17ec8ebb0cfccaacc5dd30e47c340563d9f78e87
Plantilla:Ficha de elección
10
82
162
2023-02-28T19:50:04Z
Media Wiki>Platonides
0
Protegió «[[Plantilla:Ficha de elección]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 536, en 7327 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{#switch:{{{encurso|}}}|sí=[[Categoría:Elecciones futuras en {{{país}}}]]|#default=}}<!--
-->{{#if:{{{candidato1|}}}{{{partido1|}}}{{{candidato2|}}}{{{partido2|}}}||}}<!-- Para que si hay referencias estén ordenadas -->
{| class="infobox_v2 {{#if:{{{fecha_elección|}}}|vevent}}" style="width:22em; font-size:90%; width:{{#expr:{{{ancho|45}}}*{{#if:{{{candidato3|}}}{{{partido3|}}}|4|3}}}}px;"
{{!}} colspan="12" style="text-align:center;vertical-align:baseline" {{!}} {{#if:{{{elección_anterior|}}}|← [[{{{elección_anterior|}}}{{!}}{{{fecha_anterior|}}}]] • | }}{{bandera|{{{país|}}}|{{{variante|}}}|tamaño=50px}}{{#if:{{{siguiente_elección|}}}| • [[{{{siguiente_elección|}}}{{!}}{{{siguiente_fecha|}}}]] →| }}
|-
| colspan="12" style="text-align:center; font-size:140%;" |<b class="summary">{{{nombre_elección|{{PAGENAME}}}}}</b>{{#if:{{{endisputa|}}}|<br /><small>{{{endisputa}}}</small>|}}
|-
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
|-
{{#if:{{{fecha_elección|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Fecha'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{fecha_elección}}}|}}
|-
{{#if:{{{tipo|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Tipo'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{tipo}}}|}}
|-
{{#if:{{{lugar|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Lugar'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{lugar}}}|}}
|-
{{#if:{{{endisputa2|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Cargos a elegir'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{endisputa2}}}|}}
|-
{{#if:{{{total_candidatos|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Candidatos'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{total_candidatos}}}|}}
|-
{{#if:{{{período|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Período'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{período}}}|}}
|-
{{#if:{{{campaña|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Duración de campaña'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{campaña}}}|}}
|-
{{#if:{{{debate|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Debate (s)'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{debate}}}|}}
|-
{{#if:{{{registrados|}}}{{{votantes|}}}{{{válidos|}}}{{{nulos|}}}{{{blancos|}}}{{{habitantes|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''Demografía electoral'''|}}
|-
{{#if:{{{habitantes|}}}|{{!}} colspan="5" style="text-align:left;" {{!}} '''Población'''
{{!}} colspan="7" style="text-align:right;" {{!}} {{formatnum:{{{habitantes}}}}}|}}
|-
{{#if:{{{registrados|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Hab. registrados'''
{{!}} colspan="6" style="text-align:right;" {{!}} {{formatnum:{{{registrados}}}}}|}}
|-
{{#if:{{{votantes|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} '''Votantes{{#if:{{{votantes2|}}}| 1.ª vuelta|}}'''
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} {{formatnum:{{{votantes}}}}}|}}
|-
{{#if:{{{participación|}}}|{{!}} colspan="12" style="text-align:left; width:50%" {{!}} <small>Participación</small> |}}
|-
{{#if:{{{participación|}}}|{{!}}-
{{!}} colspan="7" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{#if:{{{color_participación|}}}|{{{color_participación|}}}|{{#ifexpr:{{{participación|1}}}>60|green|{{#ifexpr:{{{participación|1}}}>40|orange|red}}}}}};width:{{#expr:{{{participación|0}}} round 0}}%;">  </div>
{{!}} colspan="5" style="text-align:right; width:25%;"{{!}}{{{participación|0}}} %{{#if:{{{participación_ant|}}}|<small> {{#ifexpr:{{{participación|1}}}>{{{participación_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{participación|1}}}<{{{participación_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}}{{#if:{{{participación_ant|}}}| {{#expr:{{#ifexpr:{{{participación|1}}}>{{{participación_ant|0}}}|({{{participación|1}}}-{{{participación_ant|1}}})|({{{participación_ant}}}-{{{participación}}})}} round 1}} %</small>|}}{{{participación_ref|}}}|}}
|-
{{#if:{{{válidos|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos válidos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{válidos}}}}}</small>|}}
|-
{{#if:{{{blancos|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos en blanco</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{blancos}}}}}</small>|}}
|-
{{#if:{{{nulos|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos nulos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{nulos}}}}}</small>|}}
|-
{{#if:{{{sin_marcar|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Tarjetas no marcadas</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{sin_marcar}}}}}</small>|}}
{{!}}-
{{#if:{{{votantes2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} '''Votantes [[Segunda vuelta electoral|2.ª vuelta]]'''
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} {{formatnum:{{{votantes2}}}}}|}}
|-
{{#if:{{{participación2|}}}|{{!}} colspan="12" style="text-align:left; width:50%" {{!}} <small>Participación</small>|}}
|-
{{#if:{{{participación2|}}}|{{!}}-
{{!}} colspan="7" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{#if:{{{color_participación|}}}|{{{color_participación|}}}|{{#ifexpr:{{{participación2|1}}}>60|green|{{#ifexpr:{{{participación2|1}}}>40|orange|red}}}}}};width:{{#expr:{{{participación2|0}}} round 0}}%;">  </div>
{{!}} colspan="5" style="text-align:right; width:25%;"{{!}}{{{participación2|0}}} %{{#if:{{{participación|}}}|<small> {{#ifexpr:{{{participación2|1}}}>{{{participación|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{participación2|1}}}<{{{participación|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}}{{#if:{{{participación|}}}| {{#expr:{{#ifexpr:{{{participación2|1}}}>{{{participación|0}}}|({{{participación2|1}}}-{{{participación|1}}})|({{{participación}}}-{{{participación2}}})}} round 1}} %</small>|}}{{{participación2_ref|}}}|}}
{{!}}-
{{#if:{{{válidos2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos válidos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{válidos2}}}}}</small>|}}
{{!}}-
{{#if:{{{blancos2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos en blanco</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{blancos2}}}}}</small>|}}
{{!}}-
{{#if:{{{nulos2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos nulos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{nulos2}}}}}</small>|}}
{{!}}-
{{#if:{{{sin_marcar2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Tarjetas no marcadas</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{sin_marcar2}}}}}</small>|}}
{{!}}-
<noinclude>Primer partido</noinclude>
{{#if:{{{candidato1|}}}{{{partido1|}}}{{{líder1|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''Resultados'''
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color1|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición1|}}}|1|0}}+{{#if:{{{porcentaje1|}}}|1|0}}+{{#if:{{{porcentaje2v1|}}}|1|0}}+{{#if:{{{votos1|}}}|1|0}}+{{#if:{{{votos2v1|}}}|1|0}}+{{#if:{{{voto_electoral1|}}}|1|0}}+{{#if:{{{voto_electoral0v1|}}}|1|0}}+{{#if:{{{senadores1|}}}|1|0}}+{{#if:{{{diputados1|}}}|1|0}}+{{#if:{{{escaños1|}}}|1|0}}+{{#if:{{{gobernaciones1|}}}|1|0}}+{{#if:{{{prefecturas1|}}}|1|0}}+{{#if:{{{alcaldías1|}}}|1|0}}+{{#if:{{{concejales1|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen1|}}}{{{símbolo1|}}}|{{{imagen1|}}}{{{símbolo1|}}}|{{#ifeq:{{{género1}}}|hombre|Archivo:{{#ifexist:media:{{{color1}}} - replace this image male.svg|{{{color1}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género1}}}|mujer|Archivo:{{#ifexist:media:{{{color1}}} - replace this image female.svg|{{{color1}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color1}}} flag waving.svg|{{{color1}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato1|}}}|'''{{{candidato1|}}}''' –|}} {{#if:{{{partido1|}}}|'''{{{partido1|}}}'''|}}{{#if:{{{líder1|}}}| – '''{{{líder1|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición1|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición1|}}}|{{Lista plegable|título={{{coalición1|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición1|}}}
|2 ={{{partido2_coalición1|}}}
|3 ={{{partido3_coalición1|}}}
|4 ={{{partido4_coalición1|}}}
|5 ={{{partido5_coalición1|}}}
|6 ={{{partido6_coalición1|}}}
|7 ={{{partido7_coalición1|}}}
}}|{{{partido1_coalición1}}}}}|}}
{{!}}-
{{#if:{{{votos1|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos1|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos1_ant|}}}|{{#ifexpr:{{{votos1|1}}}>{{{votos1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos1|1}}}<{{{votos1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos1_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos1|1}}}>{{{votos1_ant|0}}}|({{{votos1|1}}}-{{{votos1_ant|1}}})/{{{votos1_ant|1}}}|({{{votos1_ant}}}-{{{votos1}}})/{{{votos1_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v1|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v1|0}}}}}<small> {{#if:{{{votos1|}}}|{{#ifexpr:{{{votos2v1|1}}}>{{{votos1|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v1|1}}}<{{{votos1|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos1|}}}|{{#expr:100*{{#ifexpr:{{{votos2v1|1}}}>{{{votos1|0}}}|({{{votos2v1|1}}}-{{{votos1|1}}})/{{{votos1|1}}}|({{{votos1}}}-{{{votos2v1}}})/{{{votos1}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral1|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral1|0}}}}}<small> {{#if:{{{voto_electoral1_ant|}}}|{{#ifexpr:{{{voto_electoral1|1}}}>{{{voto_electoral1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral1|1}}}<{{{voto_electoral1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral1_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral1|1}}}>{{{voto_electoral1_ant|0}}}|({{{voto_electoral1|1}}}-{{{voto_electoral1_ant|1}}})/{{{voto_electoral1_ant|1}}}|({{{voto_electoral1_ant}}}-{{{voto_electoral1}}})/{{{voto_electoral1_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v1|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v1|0}}}}}<small> {{#if:{{{voto_electoral1_ant|}}}|{{#ifexpr:{{{voto_electoral0v1|1}}}>{{{voto_electoral1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v1|1}}}<{{{voto_electoral1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral1_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v1|1}}}>{{{voto_electoral1_ant|0}}}|({{{voto_electoral0v1|1}}}-{{{voto_electoral1_ant|1}}})/{{{voto_electoral1_ant|1}}}|({{{voto_electoral1_ant}}}-{{{voto_electoral0v1}}})/{{{voto_electoral1_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños1|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños1|0}}}<small> {{#if:{{{escaños1_ant|}}}|{{#ifexpr:{{{escaños1|1}}}>{{{escaños1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños1|1}}}<{{{escaños1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños1_ant|}}}|{{#expr:{{#ifexpr:{{{escaños1|1}}}>{{{escaños1_ant|0}}}|({{{escaños1|1}}}-{{{escaños1_ant|1}}})|({{{escaños1_ant}}}-{{{escaños1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados1|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados1|0}}}<small> {{#if:{{{delegados1_ant|}}}|{{#ifexpr:{{{delegados1|1}}}>{{{delegados1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados1|1}}}<{{{delegados1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados1_ant|}}}|{{#expr:{{#ifexpr:{{{delegados1|1}}}>{{{delegados1_ant|0}}}|({{{delegados1|1}}}-{{{delegados1_ant|1}}})|({{{delegados1_ant}}}-{{{delegados1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes1|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes1|0}}}<small> {{#if:{{{representantes1_ant|}}}|{{#ifexpr:{{{representantes1|1}}}>{{{representantes1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes1|1}}}<{{{representantes1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes1_ant|}}}|{{#expr:{{#ifexpr:{{{representantes1|1}}}>{{{representantes1_ant|0}}}|({{{representantes1|1}}}-{{{representantes1_ant|1}}})|({{{representantes1_ant}}}-{{{representantes1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores1|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores1|0}}}<small> {{#if:{{{senadores1_ant|}}}|{{#ifexpr:{{{senadores1|1}}}>{{{senadores1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores1|1}}}<{{{senadores1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores1_ant|}}}|{{#expr:{{#ifexpr:{{{senadores1|1}}}>{{{senadores1_ant|0}}}|({{{senadores1|1}}}-{{{senadores1_ant|1}}})|({{{senadores1_ant}}}-{{{senadores1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados1|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados1|0}}}<small> {{#if:{{{diputados1_ant|}}}|{{#ifexpr:{{{diputados1|1}}}>{{{diputados1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados1|1}}}<{{{diputados1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados1_ant|}}}|{{#expr:{{#ifexpr:{{{diputados1|1}}}>{{{diputados1_ant|0}}}|({{{diputados1|1}}}-{{{diputados1_ant|1}}})|({{{diputados1_ant}}}-{{{diputados1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones1|0}}}|}}
{{!}}-
{{#if:{{{prefecturas1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas1|0}}}|}}
{{!}}-
{{#if:{{{alcaldías1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías1|0}}}|}}
{{!}}-
{{#if:{{{concejales1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales1|0}}}|}}
{{#if:{{{porcentaje1|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color1|}}};width:{{#expr:{{{porcentaje1|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje1|0}}} %{{{ref_porcentaje1|}}}|}}
{{#if:{{{porcentaje2v1|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color1|}}};width:{{#expr:{{{porcentaje2v1|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v1|0}}} %{{{ref_porcentaje2v1|}}}|}}|}}
{{!}}-
<noinclude>Segundo partido</noinclude>
{{#if:{{{candidato2|}}}{{{partido2|}}}{{{líder2|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color2|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición2|}}}|1|0}}+{{#if:{{{porcentaje2|}}}|1|0}}+{{#if:{{{porcentaje2v2|}}}|1|0}}+{{#if:{{{votos2|}}}|1|0}}+{{#if:{{{votos2v2|}}}|1|0}}+{{#if:{{{voto_electoral2|}}}|1|0}}+{{#if:{{{voto_electoral0v2|}}}|1|0}}+{{#if:{{{senadores2|}}}|1|0}}+{{#if:{{{diputados2|}}}|1|0}}+{{#if:{{{escaños2|}}}|1|0}}+{{#if:{{{gobernaciones2|}}}|1|0}}+{{#if:{{{prefecturas2|}}}|1|0}}+{{#if:{{{alcaldías2|}}}|1|0}}+{{#if:{{{concejales2|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen2|}}}{{{símbolo2|}}}|{{{imagen2|}}}{{{símbolo2|}}}|{{#ifeq:{{{género2}}}|hombre|Archivo:{{#ifexist:media:{{{color2}}} - replace this image male.svg|{{{color2}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género2}}}|mujer|Archivo:{{#ifexist:media:{{{color2}}} - replace this image female.svg|{{{color2}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color2}}} flag waving.svg|{{{color2}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato2|}}}|'''{{{candidato2|}}}''' –|}} {{#if:{{{partido2|}}}|'''{{{partido2|}}}'''|}}{{#if:{{{líder2|}}}| – '''{{{líder2|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición2|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición2|}}}|{{Lista plegable|título={{{coalición2|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición2|}}}
|2 ={{{partido2_coalición2|}}}
|3 ={{{partido3_coalición2|}}}
|4 ={{{partido4_coalición2|}}}
|5 ={{{partido5_coalición2|}}}
|6 ={{{partido6_coalición2|}}}
|7 ={{{partido7_coalición2|}}}
}}|{{{partido1_coalición2}}}}}|}}
{{!}}-
{{#if:{{{votos2|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos2|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos2_ant|}}}|{{#ifexpr:{{{votos2|1}}}>{{{votos2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2|1}}}<{{{votos2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos2_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos2|1}}}>{{{votos2_ant|0}}}|({{{votos2|1}}}-{{{votos2_ant|1}}})/{{{votos2_ant|1}}}|({{{votos2_ant}}}-{{{votos2}}})/{{{votos2_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v2|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v2|0}}}}}<small> {{#if:{{{votos2|}}}|{{#ifexpr:{{{votos2v2|1}}}>{{{votos2|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v2|1}}}<{{{votos2|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos2|}}}|{{#expr:100*{{#ifexpr:{{{votos2v2|1}}}>{{{votos2|0}}}|({{{votos2v2|1}}}-{{{votos2|1}}})/{{{votos2|1}}}|({{{votos2}}}-{{{votos2v2}}})/{{{votos2}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral2|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral2|0}}}}}<small> {{#if:{{{voto_electoral2_ant|}}}|{{#ifexpr:{{{voto_electoral2|1}}}>{{{voto_electoral2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral2|1}}}<{{{voto_electoral2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral2_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral2|1}}}>{{{voto_electoral2_ant|0}}}|({{{voto_electoral2|1}}}-{{{voto_electoral2_ant|1}}})/{{{voto_electoral2_ant|1}}}|({{{voto_electoral2_ant}}}-{{{voto_electoral2}}})/{{{voto_electoral2_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v2|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v2|0}}}}}<small> {{#if:{{{voto_electoral2_ant|}}}|{{#ifexpr:{{{voto_electoral0v2|1}}}>{{{voto_electoral2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v2|1}}}<{{{voto_electoral2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral2_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v2|1}}}>{{{voto_electoral2_ant|0}}}|({{{voto_electoral0v2|1}}}-{{{voto_electoral2_ant|1}}})/{{{voto_electoral2_ant|1}}}|({{{voto_electoral2_ant}}}-{{{voto_electoral0v2}}})/{{{voto_electoral2_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños2|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños2|0}}}<small> {{#if:{{{escaños2_ant|}}}|{{#ifexpr:{{{escaños2|1}}}>{{{escaños2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños2|1}}}<{{{escaños2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños2_ant|}}}|{{#expr:{{#ifexpr:{{{escaños2|1}}}>{{{escaños2_ant|0}}}|({{{escaños2|1}}}-{{{escaños2_ant|1}}})|({{{escaños2_ant}}}-{{{escaños2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados2|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados2|0}}}<small> {{#if:{{{delegados2_ant|}}}|{{#ifexpr:{{{delegados2|1}}}>{{{delegados2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados2|1}}}<{{{delegados2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados2_ant|}}}|{{#expr:{{#ifexpr:{{{delegados2|1}}}>{{{delegados2_ant|0}}}|({{{delegados2|1}}}-{{{delegados2_ant|1}}})|({{{delegados2_ant}}}-{{{delegados2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes2|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes2|0}}}<small> {{#if:{{{representantes2_ant|}}}|{{#ifexpr:{{{representantes2|1}}}>{{{representantes2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes2|1}}}<{{{representantes2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes2_ant|}}}|{{#expr:{{#ifexpr:{{{representantes2|1}}}>{{{representantes2_ant|0}}}|({{{representantes2|1}}}-{{{representantes2_ant|1}}})|({{{representantes2_ant}}}-{{{representantes2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores2|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores2|0}}}<small> {{#if:{{{senadores2_ant|}}}|{{#ifexpr:{{{senadores2|1}}}>{{{senadores2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores2|1}}}<{{{senadores2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores2_ant|}}}|{{#expr:{{#ifexpr:{{{senadores2|1}}}>{{{senadores2_ant|0}}}|({{{senadores2|1}}}-{{{senadores2_ant|1}}})|({{{senadores2_ant}}}-{{{senadores2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados2|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados2|0}}}<small> {{#if:{{{diputados2_ant|}}}|{{#ifexpr:{{{diputados2|1}}}>{{{diputados2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados2|1}}}<{{{diputados2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados2_ant|}}}|{{#expr:{{#ifexpr:{{{diputados2|1}}}>{{{diputados2_ant|0}}}|({{{diputados2|1}}}-{{{diputados2_ant|1}}})|({{{diputados2_ant}}}-{{{diputados2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones2|0}}}|}}
{{!}}-
{{#if:{{{prefecturas2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas2|0}}}|}}
{{!}}-
{{#if:{{{alcaldías2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías2|0}}}|}}
{{!}}-
{{#if:{{{concejales2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales2|0}}}|}}
{{#if:{{{porcentaje2|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color2|}}};width:{{#expr:{{{porcentaje2|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2|0}}} %{{{ref_porcentaje2|}}}|}}
{{#if:{{{porcentaje2v2|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color2|}}};width:{{#expr:{{{porcentaje2v2|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v2|0}}} %{{{ref_porcentaje2v2|}}}|}}|}}
{{!}}-
<noinclude>Tercer partido</noinclude>
{{#if:{{{candidato3|}}}{{{partido3|}}}{{{líder3|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color3|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición3|}}}|1|0}}+{{#if:{{{porcentaje3|}}}|1|0}}+{{#if:{{{porcentaje2v3|}}}|1|0}}+{{#if:{{{votos3|}}}|1|0}}+{{#if:{{{votos2v3|}}}|1|0}}+{{#if:{{{voto_electoral3|}}}|1|0}}+{{#if:{{{voto_electoral0v3|}}}|1|0}}+{{#if:{{{senadores3|}}}|1|0}}+{{#if:{{{diputados3|}}}|1|0}}+{{#if:{{{escaños3|}}}|1|0}}+{{#if:{{{gobernaciones3|}}}|1|0}}+{{#if:{{{prefecturas3|}}}|1|0}}+{{#if:{{{alcaldías3|}}}|1|0}}+{{#if:{{{concejales3|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen3|}}}{{{símbolo3|}}}|{{{imagen3|}}}{{{símbolo3|}}}|{{#ifeq:{{{género3}}}|hombre|Archivo:{{#ifexist:media:{{{color3}}} - replace this image male.svg|{{{color3}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género3}}}|mujer|Archivo:{{#ifexist:media:{{{color3}}} - replace this image female.svg|{{{color3}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color3}}} flag waving.svg|{{{color3}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato3|}}}|'''{{{candidato3|}}}''' –|}} {{#if:{{{partido3|}}}|'''{{{partido3|}}}'''|}}{{#if:{{{líder3|}}}| – '''{{{líder3|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición3|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición3|}}}|{{Lista plegable|título={{{coalición3|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición3|}}}
|2 ={{{partido2_coalición3|}}}
|3 ={{{partido3_coalición3|}}}
|4 ={{{partido4_coalición3|}}}
|5 ={{{partido5_coalición3|}}}
|6 ={{{partido6_coalición3|}}}
|7 ={{{partido7_coalición3|}}}
}}|{{{partido1_coalición3}}}}}|}}
{{!}}-
{{#if:{{{votos3|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos3|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos3_ant|}}}|{{#ifexpr:{{{votos3|1}}}>{{{votos3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos3|1}}}<{{{votos3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos3_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos3|1}}}>{{{votos3_ant|0}}}|({{{votos3|1}}}-{{{votos3_ant|1}}})/{{{votos3_ant|1}}}|({{{votos3_ant}}}-{{{votos3}}})/{{{votos3_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v3|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v3|0}}}}}<small> {{#if:{{{votos3|}}}|{{#ifexpr:{{{votos2v3|1}}}>{{{votos3|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v3|1}}}<{{{votos3|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos3|}}}|{{#expr:100*{{#ifexpr:{{{votos2v3|1}}}>{{{votos3|0}}}|({{{votos2v3|1}}}-{{{votos3|1}}})/{{{votos3|1}}}|({{{votos3}}}-{{{votos2v3}}})/{{{votos3}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral3|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral3|0}}}}}<small> {{#if:{{{voto_electoral3_ant|}}}|{{#ifexpr:{{{voto_electoral3|1}}}>{{{voto_electoral3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral3|1}}}<{{{voto_electoral3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral3_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral3|1}}}>{{{voto_electoral3_ant|0}}}|({{{voto_electoral3|1}}}-{{{voto_electoral3_ant|1}}})/{{{voto_electoral3_ant|1}}}|({{{voto_electoral3_ant}}}-{{{voto_electoral3}}})/{{{voto_electoral3_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v3|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v3|0}}}}}<small> {{#if:{{{voto_electoral3_ant|}}}|{{#ifexpr:{{{voto_electoral0v3|1}}}>{{{voto_electoral3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v3|1}}}<{{{voto_electoral3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral3_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v3|1}}}>{{{voto_electoral3_ant|0}}}|({{{voto_electoral0v3|1}}}-{{{voto_electoral3_ant|1}}})/{{{voto_electoral3_ant|1}}}|({{{voto_electoral3_ant}}}-{{{voto_electoral0v3}}})/{{{voto_electoral3_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños3|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños3|0}}}<small> {{#if:{{{escaños3_ant|}}}|{{#ifexpr:{{{escaños3|1}}}>{{{escaños3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños3|1}}}<{{{escaños3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños3_ant|}}}|{{#expr:{{#ifexpr:{{{escaños3|1}}}>{{{escaños3_ant|0}}}|({{{escaños3|1}}}-{{{escaños3_ant|1}}})|({{{escaños3_ant}}}-{{{escaños3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados3|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados3|0}}}<small> {{#if:{{{delegados3_ant|}}}|{{#ifexpr:{{{delegados3|1}}}>{{{delegados3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados3|1}}}<{{{delegados3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados3_ant|}}}|{{#expr:{{#ifexpr:{{{delegados3|1}}}>{{{delegados3_ant|0}}}|({{{delegados3|1}}}-{{{delegados3_ant|1}}})|({{{delegados3_ant}}}-{{{delegados3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes3|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes3|0}}}<small> {{#if:{{{representantes3_ant|}}}|{{#ifexpr:{{{representantes3|1}}}>{{{representantes3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes3|1}}}<{{{representantes3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes3_ant|}}}|{{#expr:{{#ifexpr:{{{representantes3|1}}}>{{{representantes3_ant|0}}}|({{{representantes3|1}}}-{{{representantes3_ant|1}}})|({{{representantes3_ant}}}-{{{representantes3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores3|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores3|0}}}<small> {{#if:{{{senadores3_ant|}}}|{{#ifexpr:{{{senadores3|1}}}>{{{senadores3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores3|1}}}<{{{senadores3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores3_ant|}}}|{{#expr:{{#ifexpr:{{{senadores3|1}}}>{{{senadores3_ant|0}}}|({{{senadores3|1}}}-{{{senadores3_ant|1}}})|({{{senadores3_ant}}}-{{{senadores3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados3|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados3|0}}}<small> {{#if:{{{diputados3_ant|}}}|{{#ifexpr:{{{diputados3|1}}}>{{{diputados3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados3|1}}}<{{{diputados3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados3_ant|}}}|{{#expr:{{#ifexpr:{{{diputados3|1}}}>{{{diputados3_ant|0}}}|({{{diputados3|1}}}-{{{diputados3_ant|1}}})|({{{diputados3_ant}}}-{{{diputados3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones3|0}}}|}}
{{!}}-
{{#if:{{{prefecturas3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas3|0}}}|}}
{{!}}-
{{#if:{{{alcaldías3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías3|0}}}|}}
{{!}}-
{{#if:{{{concejales3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales3|0}}}|}}
{{#if:{{{porcentaje3|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color3|}}};width:{{#expr:{{{porcentaje3|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje3|0}}} %{{{ref_porcentaje3|}}}|}}
{{#if:{{{porcentaje2v3|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color3|}}};width:{{#expr:{{{porcentaje2v3|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v3|0}}} %{{{ref_porcentaje2v3|}}}|}}|}}
{{!}}-
<noinclude>Cuarto partido</noinclude>
{{#if:{{{candidato4|}}}{{{partido4|}}}{{{líder4|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color4|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición4|}}}|1|0}}+{{#if:{{{porcentaje4|}}}|1|0}}+{{#if:{{{porcentaje2v4|}}}|1|0}}+{{#if:{{{votos4|}}}|1|0}}+{{#if:{{{votos2v4|}}}|1|0}}+{{#if:{{{voto_electoral4|}}}|1|0}}+{{#if:{{{voto_electoral0v4|}}}|1|0}}+{{#if:{{{senadores4|}}}|1|0}}+{{#if:{{{diputados4|}}}|1|0}}+{{#if:{{{escaños4|}}}|1|0}}+{{#if:{{{gobernaciones4|}}}|1|0}}+{{#if:{{{prefecturas4|}}}|1|0}}+{{#if:{{{alcaldías4|}}}|1|0}}+{{#if:{{{concejales4|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen4|}}}{{{símbolo4|}}}|{{{imagen4|}}}{{{símbolo4|}}}|{{#ifeq:{{{género4}}}|hombre|Archivo:{{#ifexist:media:{{{color4}}} - replace this image male.svg|{{{color4}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género4}}}|mujer|Archivo:{{#ifexist:media:{{{color4}}} - replace this image female.svg|{{{color4}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color4}}} flag waving.svg|{{{color4}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato4|}}}|'''{{{candidato4|}}}''' –|}} {{#if:{{{partido4|}}}|'''{{{partido4|}}}'''|}}{{#if:{{{líder4|}}}| – '''{{{líder4|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición4|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición4|}}}|{{Lista plegable|título={{{coalición4|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición4|}}}
|2 ={{{partido2_coalición4|}}}
|3 ={{{partido3_coalición4|}}}
|4 ={{{partido4_coalición4|}}}
|5 ={{{partido5_coalición4|}}}
|6 ={{{partido6_coalición4|}}}
|7 ={{{partido7_coalición4|}}}
}}|{{{partido1_coalición4}}}}}|}}
{{!}}-
{{#if:{{{votos4|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos4|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos4_ant|}}}|{{#ifexpr:{{{votos4|1}}}>{{{votos4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos4|1}}}<{{{votos4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos4_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos4|1}}}>{{{votos4_ant|0}}}|({{{votos4|1}}}-{{{votos4_ant|1}}})/{{{votos4_ant|1}}}|({{{votos4_ant}}}-{{{votos4}}})/{{{votos4_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v4|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v4|0}}}}}<small> {{#if:{{{votos4|}}}|{{#ifexpr:{{{votos2v4|1}}}>{{{votos4|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v4|1}}}<{{{votos4|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos4|}}}|{{#expr:100*{{#ifexpr:{{{votos2v4|1}}}>{{{votos4|0}}}|({{{votos2v4|1}}}-{{{votos4|1}}})/{{{votos4|1}}}|({{{votos4}}}-{{{votos2v4}}})/{{{votos4}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral4|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral4|0}}}}}<small> {{#if:{{{voto_electoral4_ant|}}}|{{#ifexpr:{{{voto_electoral4|1}}}>{{{voto_electoral4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral4|1}}}<{{{voto_electoral4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral4_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral4|1}}}>{{{voto_electoral4_ant|0}}}|({{{voto_electoral4|1}}}-{{{voto_electoral4_ant|1}}})/{{{voto_electoral4_ant|1}}}|({{{voto_electoral4_ant}}}-{{{voto_electoral4}}})/{{{voto_electoral4_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v4|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v4|0}}}}}<small> {{#if:{{{voto_electoral4_ant|}}}|{{#ifexpr:{{{voto_electoral0v4|1}}}>{{{voto_electoral4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v4|1}}}<{{{voto_electoral4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral4_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v4|1}}}>{{{voto_electoral4_ant|0}}}|({{{voto_electoral0v4|1}}}-{{{voto_electoral4_ant|1}}})/{{{voto_electoral4_ant|1}}}|({{{voto_electoral4_ant}}}-{{{voto_electoral0v4}}})/{{{voto_electoral4_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños4|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños4|0}}}<small> {{#if:{{{escaños4_ant|}}}|{{#ifexpr:{{{escaños4|1}}}>{{{escaños4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños4|1}}}<{{{escaños4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños4_ant|}}}|{{#expr:{{#ifexpr:{{{escaños4|1}}}>{{{escaños4_ant|0}}}|({{{escaños4|1}}}-{{{escaños4_ant|1}}})|({{{escaños4_ant}}}-{{{escaños4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados4|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados4|0}}}<small> {{#if:{{{delegados4_ant|}}}|{{#ifexpr:{{{delegados4|1}}}>{{{delegados4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados4|1}}}<{{{delegados4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados4_ant|}}}|{{#expr:{{#ifexpr:{{{delegados4|1}}}>{{{delegados4_ant|0}}}|({{{delegados4|1}}}-{{{delegados4_ant|1}}})|({{{delegados4_ant}}}-{{{delegados4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes4|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes4|0}}}<small> {{#if:{{{representantes4_ant|}}}|{{#ifexpr:{{{representantes4|1}}}>{{{representantes4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes4|1}}}<{{{representantes4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes4_ant|}}}|{{#expr:{{#ifexpr:{{{representantes4|1}}}>{{{representantes4_ant|0}}}|({{{representantes4|1}}}-{{{representantes4_ant|1}}})|({{{representantes4_ant}}}-{{{representantes4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores4|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores4|0}}}<small> {{#if:{{{senadores4_ant|}}}|{{#ifexpr:{{{senadores4|1}}}>{{{senadores4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores4|1}}}<{{{senadores4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores4_ant|}}}|{{#expr:{{#ifexpr:{{{senadores4|1}}}>{{{senadores4_ant|0}}}|({{{senadores4|1}}}-{{{senadores4_ant|1}}})|({{{senadores4_ant}}}-{{{senadores4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados4|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados4|0}}}<small> {{#if:{{{diputados4_ant|}}}|{{#ifexpr:{{{diputados4|1}}}>{{{diputados4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados4|1}}}<{{{diputados4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados4_ant|}}}|{{#expr:{{#ifexpr:{{{diputados4|1}}}>{{{diputados4_ant|0}}}|({{{diputados4|1}}}-{{{diputados4_ant|1}}})|({{{diputados4_ant}}}-{{{diputados4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones4|0}}}|}}
{{!}}-
{{#if:{{{prefecturas4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas4|0}}}|}}
{{!}}-
{{#if:{{{alcaldías4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías4|0}}}|}}
{{!}}-
{{#if:{{{concejales4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales4|0}}}|}}
{{#if:{{{porcentaje4|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color4|}}};width:{{#expr:{{{porcentaje4|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje4|0}}} %{{{ref_porcentaje4|}}}|}}
{{#if:{{{porcentaje2v4|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color4|}}};width:{{#expr:{{{porcentaje2v4|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v4|0}}} %{{{ref_porcentaje2v4|}}}|}}|}}
{{!}}-
<noinclude>Quinto partido</noinclude>
{{#if:{{{candidato5|}}}{{{partido5|}}}{{{líder5|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color5|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición5|}}}|1|0}}+{{#if:{{{porcentaje5|}}}|1|0}}+{{#if:{{{porcentaje2v5|}}}|1|0}}+{{#if:{{{votos5|}}}|1|0}}+{{#if:{{{votos2v5|}}}|1|0}}+{{#if:{{{voto_electoral5|}}}|1|0}}+{{#if:{{{voto_electoral0v5|}}}|1|0}}+{{#if:{{{senadores5|}}}|1|0}}+{{#if:{{{diputados5|}}}|1|0}}+{{#if:{{{escaños5|}}}|1|0}}+{{#if:{{{gobernaciones5|}}}|1|0}}+{{#if:{{{prefecturas5|}}}|1|0}}+{{#if:{{{alcaldías5|}}}|1|0}}+{{#if:{{{concejales5|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen5|}}}{{{símbolo5|}}}|{{{imagen5|}}}{{{símbolo5|}}}|{{#ifeq:{{{género5}}}|hombre|Archivo:{{#ifexist:media:{{{color5}}} - replace this image male.svg|{{{color5}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género5}}}|mujer|Archivo:{{#ifexist:media:{{{color5}}} - replace this image female.svg|{{{color5}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color5}}} flag waving.svg|{{{color5}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato5|}}}|'''{{{candidato5|}}}''' –|}} {{#if:{{{partido5|}}}|'''{{{partido5|}}}'''|}}{{#if:{{{líder5|}}}| – '''{{{líder5|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición5|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición5|}}}|{{Lista plegable|título={{{coalición5|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición5|}}}
|2 ={{{partido2_coalición5|}}}
|3 ={{{partido3_coalición5|}}}
|4 ={{{partido4_coalición5|}}}
|5 ={{{partido5_coalición5|}}}
|6 ={{{partido6_coalición5|}}}
|7 ={{{partido7_coalición5|}}}
}}|{{{partido1_coalición5}}}}}|}}
{{!}}-
{{#if:{{{votos5|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos5|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos5_ant|}}}|{{#ifexpr:{{{votos5|1}}}>{{{votos5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos5|1}}}<{{{votos5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos5_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos5|1}}}>{{{votos5_ant|0}}}|({{{votos5|1}}}-{{{votos5_ant|1}}})/{{{votos5_ant|1}}}|({{{votos5_ant}}}-{{{votos5}}})/{{{votos5_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v5|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v5|0}}}}}<small> {{#if:{{{votos5|}}}|{{#ifexpr:{{{votos2v5|1}}}>{{{votos5|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v5|1}}}<{{{votos5|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos5|}}}|{{#expr:100*{{#ifexpr:{{{votos2v5|1}}}>{{{votos5|0}}}|({{{votos2v5|1}}}-{{{votos5|1}}})/{{{votos5|1}}}|({{{votos5}}}-{{{votos2v5}}})/{{{votos5}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral5|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral5|0}}}}}<small> {{#if:{{{voto_electoral5_ant|}}}|{{#ifexpr:{{{voto_electoral5|1}}}>{{{voto_electoral5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral5|1}}}<{{{voto_electoral5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral5_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral5|1}}}>{{{voto_electoral5_ant|0}}}|({{{voto_electoral5|1}}}-{{{voto_electoral5_ant|1}}})/{{{voto_electoral5_ant|1}}}|({{{voto_electoral5_ant}}}-{{{voto_electoral5}}})/{{{voto_electoral5_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v5|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v5|0}}}}}<small> {{#if:{{{voto_electoral5_ant|}}}|{{#ifexpr:{{{voto_electoral0v5|1}}}>{{{voto_electoral5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v5|1}}}<{{{voto_electoral5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral5_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v5|1}}}>{{{voto_electoral5_ant|0}}}|({{{voto_electoral0v5|1}}}-{{{voto_electoral5_ant|1}}})/{{{voto_electoral5_ant|1}}}|({{{voto_electoral5_ant}}}-{{{voto_electoral0v5}}})/{{{voto_electoral5_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños5|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños5|0}}}<small> {{#if:{{{escaños5_ant|}}}|{{#ifexpr:{{{escaños5|1}}}>{{{escaños5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños5|1}}}<{{{escaños5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños5_ant|}}}|{{#expr:{{#ifexpr:{{{escaños5|1}}}>{{{escaños5_ant|0}}}|({{{escaños5|1}}}-{{{escaños5_ant|1}}})|({{{escaños5_ant}}}-{{{escaños5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados5|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados5|0}}}<small> {{#if:{{{delegados5_ant|}}}|{{#ifexpr:{{{delegados5|1}}}>{{{delegados5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados5|1}}}<{{{delegados5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados5_ant|}}}|{{#expr:{{#ifexpr:{{{delegados5|1}}}>{{{delegados5_ant|0}}}|({{{delegados5|1}}}-{{{delegados5_ant|1}}})|({{{delegados5_ant}}}-{{{delegados5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes5|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes5|0}}}<small> {{#if:{{{representantes5_ant|}}}|{{#ifexpr:{{{representantes5|1}}}>{{{representantes5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes5|1}}}<{{{representantes5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes5_ant|}}}|{{#expr:{{#ifexpr:{{{representantes5|1}}}>{{{representantes5_ant|0}}}|({{{representantes5|1}}}-{{{representantes5_ant|1}}})|({{{representantes5_ant}}}-{{{representantes5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores5|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores5|0}}}<small> {{#if:{{{senadores5_ant|}}}|{{#ifexpr:{{{senadores5|1}}}>{{{senadores5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores5|1}}}<{{{senadores5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores5_ant|}}}|{{#expr:{{#ifexpr:{{{senadores5|1}}}>{{{senadores5_ant|0}}}|({{{senadores5|1}}}-{{{senadores5_ant|1}}})|({{{senadores5_ant}}}-{{{senadores5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados5|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados5|0}}}<small> {{#if:{{{diputados5_ant|}}}|{{#ifexpr:{{{diputados5|1}}}>{{{diputados5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados5|1}}}<{{{diputados5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados5_ant|}}}|{{#expr:{{#ifexpr:{{{diputados5|1}}}>{{{diputados5_ant|0}}}|({{{diputados5|1}}}-{{{diputados5_ant|1}}})|({{{diputados5_ant}}}-{{{diputados5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones5|0}}}|}}
{{!}}-
{{#if:{{{prefecturas5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas5|0}}}|}}
{{!}}-
{{#if:{{{alcaldías5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías5|0}}}|}}
{{!}}-
{{#if:{{{concejales5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales5|0}}}|}}
{{#if:{{{porcentaje5|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color5|}}};width:{{#expr:{{{porcentaje5|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje5|0}}} %{{{ref_porcentaje5|}}}|}}
{{#if:{{{porcentaje2v5|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color5|}}};width:{{#expr:{{{porcentaje2v5|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v5|0}}} %{{{ref_porcentaje2v5|}}}|}}|}}
{{!}}-
<noinclude>Sexto partido</noinclude>
{{#if:{{{candidato6|}}}{{{partido6|}}}{{{líder6|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color6|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición6|}}}|1|0}}+{{#if:{{{porcentaje6|}}}|1|0}}+{{#if:{{{porcentaje2v6|}}}|1|0}}+{{#if:{{{votos6|}}}|1|0}}+{{#if:{{{votos2v6|}}}|1|0}}+{{#if:{{{voto_electoral6|}}}|1|0}}+{{#if:{{{voto_electoral0v6|}}}|1|0}}+{{#if:{{{senadores6|}}}|1|0}}+{{#if:{{{diputados6|}}}|1|0}}+{{#if:{{{escaños6|}}}|1|0}}+{{#if:{{{gobernaciones6|}}}|1|0}}+{{#if:{{{prefecturas6|}}}|1|0}}+{{#if:{{{alcaldías6|}}}|1|0}}+{{#if:{{{concejales6|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen6|}}}{{{símbolo6|}}}|{{{imagen6|}}}{{{símbolo6|}}}|{{#ifeq:{{{género6}}}|hombre|Archivo:{{#ifexist:media:{{{color6}}} - replace this image male.svg|{{{color6}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género6}}}|mujer|Archivo:{{#ifexist:media:{{{color6}}} - replace this image female.svg|{{{color6}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color6}}} flag waving.svg|{{{color6}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato6|}}}|'''{{{candidato6|}}}''' –|}} {{#if:{{{partido6|}}}|'''{{{partido6|}}}'''|}}{{#if:{{{líder6|}}}| – '''{{{líder6|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición6|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición6|}}}|{{Lista plegable|título={{{coalición6|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición6|}}}
|2 ={{{partido2_coalición6|}}}
|3 ={{{partido3_coalición6|}}}
|4 ={{{partido4_coalición6|}}}
|5 ={{{partido5_coalición6|}}}
|6 ={{{partido6_coalición6|}}}
|7 ={{{partido7_coalición6|}}}
}}|{{{partido1_coalición6}}}}}|}}
{{!}}-
{{#if:{{{votos6|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos6|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos6_ant|}}}|{{#ifexpr:{{{votos6|1}}}>{{{votos6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos6|1}}}<{{{votos6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos6_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos6|1}}}>{{{votos6_ant|0}}}|({{{votos6|1}}}-{{{votos6_ant|1}}})/{{{votos6_ant|1}}}|({{{votos6_ant}}}-{{{votos6}}})/{{{votos6_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v6|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v6|0}}}}}<small> {{#if:{{{votos6|}}}|{{#ifexpr:{{{votos2v6|1}}}>{{{votos6|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v6|1}}}<{{{votos6|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos6|}}}|{{#expr:100*{{#ifexpr:{{{votos2v6|1}}}>{{{votos6|0}}}|({{{votos2v6|1}}}-{{{votos6|1}}})/{{{votos6|1}}}|({{{votos6}}}-{{{votos2v6}}})/{{{votos6}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral6|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral6|0}}}}}<small> {{#if:{{{voto_electoral6_ant|}}}|{{#ifexpr:{{{voto_electoral6|1}}}>{{{voto_electoral6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral6|1}}}<{{{voto_electoral6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral6_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral6|1}}}>{{{voto_electoral6_ant|0}}}|({{{voto_electoral6|1}}}-{{{voto_electoral6_ant|1}}})/{{{voto_electoral6_ant|1}}}|({{{voto_electoral6_ant}}}-{{{voto_electoral6}}})/{{{voto_electoral6_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v6|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v6|0}}}}}<small> {{#if:{{{voto_electoral6_ant|}}}|{{#ifexpr:{{{voto_electoral0v6|1}}}>{{{voto_electoral6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v6|1}}}<{{{voto_electoral6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral6_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v6|1}}}>{{{voto_electoral6_ant|0}}}|({{{voto_electoral0v6|1}}}-{{{voto_electoral6_ant|1}}})/{{{voto_electoral6_ant|1}}}|({{{voto_electoral6_ant}}}-{{{voto_electoral0v6}}})/{{{voto_electoral6_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños6|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños6|0}}}<small> {{#if:{{{escaños6_ant|}}}|{{#ifexpr:{{{escaños6|1}}}>{{{escaños6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños6|1}}}<{{{escaños6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños6_ant|}}}|{{#expr:{{#ifexpr:{{{escaños6|1}}}>{{{escaños6_ant|0}}}|({{{escaños6|1}}}-{{{escaños6_ant|1}}})|({{{escaños6_ant}}}-{{{escaños6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados6|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados6|0}}}<small> {{#if:{{{delegados6_ant|}}}|{{#ifexpr:{{{delegados6|1}}}>{{{delegados6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados6|1}}}<{{{delegados6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados6_ant|}}}|{{#expr:{{#ifexpr:{{{delegados6|1}}}>{{{delegados6_ant|0}}}|({{{delegados6|1}}}-{{{delegados6_ant|1}}})|({{{delegados6_ant}}}-{{{delegados6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes6|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes6|0}}}<small> {{#if:{{{representantes6_ant|}}}|{{#ifexpr:{{{representantes6|1}}}>{{{representantes6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes6|1}}}<{{{representantes6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes6_ant|}}}|{{#expr:{{#ifexpr:{{{representantes6|1}}}>{{{representantes6_ant|0}}}|({{{representantes6|1}}}-{{{representantes6_ant|1}}})|({{{representantes6_ant}}}-{{{representantes6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores6|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores6|0}}}<small> {{#if:{{{senadores6_ant|}}}|{{#ifexpr:{{{senadores6|1}}}>{{{senadores6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores6|1}}}<{{{senadores6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores6_ant|}}}|{{#expr:{{#ifexpr:{{{senadores6|1}}}>{{{senadores6_ant|0}}}|({{{senadores6|1}}}-{{{senadores6_ant|1}}})|({{{senadores6_ant}}}-{{{senadores6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados6|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados6|0}}}<small> {{#if:{{{diputados6_ant|}}}|{{#ifexpr:{{{diputados6|1}}}>{{{diputados6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados6|1}}}<{{{diputados6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados6_ant|}}}|{{#expr:{{#ifexpr:{{{diputados6|1}}}>{{{diputados6_ant|0}}}|({{{diputados6|1}}}-{{{diputados6_ant|1}}})|({{{diputados6_ant}}}-{{{diputados6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones6|0}}}|}}
{{!}}-
{{#if:{{{prefecturas6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas6|0}}}|}}
{{!}}-
{{#if:{{{alcaldías6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías6|0}}}|}}
{{!}}-
{{#if:{{{concejales6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales6|0}}}|}}
{{#if:{{{porcentaje6|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color6|}}};width:{{#expr:{{{porcentaje6|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje6|0}}} %{{{ref_porcentaje6|}}}|}}
{{#if:{{{porcentaje2v6|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color6|}}};width:{{#expr:{{{porcentaje2v6|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v6|0}}} %{{{ref_porcentaje2v6|}}}|}}|}}
{{!}}-
<noinclude>Séptimo partido</noinclude>
{{#if:{{{candidato7|}}}{{{partido7|}}}{{{líder7|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color7|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición7|}}}|1|0}}+{{#if:{{{porcentaje7|}}}|1|0}}+{{#if:{{{porcentaje2v7|}}}|1|0}}+{{#if:{{{votos7|}}}|1|0}}+{{#if:{{{votos2v7|}}}|1|0}}+{{#if:{{{voto_electoral7|}}}|1|0}}+{{#if:{{{voto_electoral0v7|}}}|1|0}}+{{#if:{{{senadores7|}}}|1|0}}+{{#if:{{{diputados7|}}}|1|0}}+{{#if:{{{escaños7|}}}|1|0}}+{{#if:{{{gobernaciones7|}}}|1|0}}+{{#if:{{{prefecturas7|}}}|1|0}}+{{#if:{{{alcaldías7|}}}|1|0}}+{{#if:{{{concejales7|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen7|}}}{{{símbolo7|}}}|{{{imagen7|}}}{{{símbolo7|}}}|{{#ifeq:{{{género7}}}|hombre|Archivo:{{#ifexist:media:{{{color7}}} - replace this image male.svg|{{{color7}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género7}}}|mujer|Archivo:{{#ifexist:media:{{{color7}}} - replace this image female.svg|{{{color7}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color7}}} flag waving.svg|{{{color7}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato7|}}}|'''{{{candidato7|}}}''' –|}} {{#if:{{{partido7|}}}|'''{{{partido7|}}}'''|}}{{#if:{{{líder7|}}}| – '''{{{líder7|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición7|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición7|}}}|{{Lista plegable|título={{{coalición7|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición7|}}}
|2 ={{{partido2_coalición7|}}}
|3 ={{{partido3_coalición7|}}}
|4 ={{{partido4_coalición7|}}}
|5 ={{{partido5_coalición7|}}}
|6 ={{{partido6_coalición7|}}}
|7 ={{{partido7_coalición7|}}}
}}|{{{partido1_coalición7}}}}}|}}
{{!}}-
{{#if:{{{votos7|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos7|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos7_ant|}}}|{{#ifexpr:{{{votos7|1}}}>{{{votos7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos7|1}}}<{{{votos7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos7_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos7|1}}}>{{{votos7_ant|0}}}|({{{votos7|1}}}-{{{votos7_ant|1}}})/{{{votos7_ant|1}}}|({{{votos7_ant}}}-{{{votos7}}})/{{{votos7_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v7|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v7|0}}}}}<small> {{#if:{{{votos7|}}}|{{#ifexpr:{{{votos2v7|1}}}>{{{votos7|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v7|1}}}<{{{votos7|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos7|}}}|{{#expr:100*{{#ifexpr:{{{votos2v7|1}}}>{{{votos7|0}}}|({{{votos2v7|1}}}-{{{votos7|1}}})/{{{votos7|1}}}|({{{votos7}}}-{{{votos2v7}}})/{{{votos7}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral7|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral7|0}}}}}<small> {{#if:{{{voto_electoral7_ant|}}}|{{#ifexpr:{{{voto_electoral7|1}}}>{{{voto_electoral7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral7|1}}}<{{{voto_electoral7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral7_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral7|1}}}>{{{voto_electoral7_ant|0}}}|({{{voto_electoral7|1}}}-{{{voto_electoral7_ant|1}}})/{{{voto_electoral7_ant|1}}}|({{{voto_electoral7_ant}}}-{{{voto_electoral7}}})/{{{voto_electoral7_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v7|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v7|0}}}}}<small> {{#if:{{{voto_electoral7_ant|}}}|{{#ifexpr:{{{voto_electoral0v7|1}}}>{{{voto_electoral7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v7|1}}}<{{{voto_electoral7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral7_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v7|1}}}>{{{voto_electoral7_ant|0}}}|({{{voto_electoral0v7|1}}}-{{{voto_electoral7_ant|1}}})/{{{voto_electoral7_ant|1}}}|({{{voto_electoral7_ant}}}-{{{voto_electoral0v7}}})/{{{voto_electoral7_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños7|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños7|0}}}<small> {{#if:{{{escaños7_ant|}}}|{{#ifexpr:{{{escaños7|1}}}>{{{escaños7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños7|1}}}<{{{escaños7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños7_ant|}}}|{{#expr:{{#ifexpr:{{{escaños7|1}}}>{{{escaños7_ant|0}}}|({{{escaños7|1}}}-{{{escaños7_ant|1}}})|({{{escaños7_ant}}}-{{{escaños7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados7|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados7|0}}}<small> {{#if:{{{delegados7_ant|}}}|{{#ifexpr:{{{delegados7|1}}}>{{{delegados7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados7|1}}}<{{{delegados7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados7_ant|}}}|{{#expr:{{#ifexpr:{{{delegados7|1}}}>{{{delegados7_ant|0}}}|({{{delegados7|1}}}-{{{delegados7_ant|1}}})|({{{delegados7_ant}}}-{{{delegados7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes7|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes7|0}}}<small> {{#if:{{{representantes7_ant|}}}|{{#ifexpr:{{{representantes7|1}}}>{{{representantes7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes7|1}}}<{{{representantes7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes7_ant|}}}|{{#expr:{{#ifexpr:{{{representantes7|1}}}>{{{representantes7_ant|0}}}|({{{representantes7|1}}}-{{{representantes7_ant|1}}})|({{{representantes7_ant}}}-{{{representantes7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores7|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores7|0}}}<small> {{#if:{{{senadores7_ant|}}}|{{#ifexpr:{{{senadores7|1}}}>{{{senadores7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores7|1}}}<{{{senadores7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores7_ant|}}}|{{#expr:{{#ifexpr:{{{senadores7|1}}}>{{{senadores7_ant|0}}}|({{{senadores7|1}}}-{{{senadores7_ant|1}}})|({{{senadores7_ant}}}-{{{senadores7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados7|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados7|0}}}<small> {{#if:{{{diputados7_ant|}}}|{{#ifexpr:{{{diputados7|1}}}>{{{diputados7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados7|1}}}<{{{diputados7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados7_ant|}}}|{{#expr:{{#ifexpr:{{{diputados7|1}}}>{{{diputados7_ant|0}}}|({{{diputados7|1}}}-{{{diputados7_ant|1}}})|({{{diputados7_ant}}}-{{{diputados7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones7|0}}}|}}
{{!}}-
{{#if:{{{prefecturas7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas7|0}}}|}}
{{!}}-
{{#if:{{{alcaldías7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías7|0}}}|}}
{{!}}-
{{#if:{{{concejales7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales7|0}}}|}}
{{#if:{{{porcentaje7|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color7|}}};width:{{#expr:{{{porcentaje7|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje7|0}}} %{{{ref_porcentaje7|}}}|}}
{{#if:{{{porcentaje2v7|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color7|}}};width:{{#expr:{{{porcentaje2v7|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v7|0}}} %{{{ref_porcentaje2v7|}}}|}}|}}
{{!}}-
<noinclude>Octavo partido</noinclude>
{{#if:{{{candidato8|}}}{{{partido8|}}}{{{líder8|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color8|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición8|}}}|1|0}}+{{#if:{{{porcentaje8|}}}|1|0}}+{{#if:{{{porcentaje2v8|}}}|1|0}}+{{#if:{{{votos8|}}}|1|0}}+{{#if:{{{votos2v8|}}}|1|0}}+{{#if:{{{voto_electoral8|}}}|1|0}}+{{#if:{{{voto_electoral0v8|}}}|1|0}}+{{#if:{{{senadores8|}}}|1|0}}+{{#if:{{{diputados8|}}}|1|0}}+{{#if:{{{escaños8|}}}|1|0}}+{{#if:{{{gobernaciones8|}}}|1|0}}+{{#if:{{{prefecturas8|}}}|1|0}}+{{#if:{{{alcaldías8|}}}|1|0}}+{{#if:{{{concejales8|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen8|}}}{{{símbolo8|}}}|{{{imagen8|}}}{{{símbolo8|}}}|{{#ifeq:{{{género8}}}|hombre|Archivo:{{#ifexist:media:{{{color8}}} - replace this image male.svg|{{{color8}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género8}}}|mujer|Archivo:{{#ifexist:media:{{{color8}}} - replace this image female.svg|{{{color8}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color8}}} flag waving.svg|{{{color8}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato8|}}}|'''{{{candidato8|}}}''' –|}} {{#if:{{{partido8|}}}|'''{{{partido8|}}}'''|}}{{#if:{{{líder8|}}}| – '''{{{líder8|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición8|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición8|}}}|{{Lista plegable|título={{{coalición8|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición8|}}}
|2 ={{{partido2_coalición8|}}}
|3 ={{{partido3_coalición8|}}}
|4 ={{{partido4_coalición8|}}}
|5 ={{{partido5_coalición8|}}}
|6 ={{{partido6_coalición8|}}}
|7 ={{{partido7_coalición8|}}}
}}|{{{partido1_coalición8}}}}}|}}
{{!}}-
{{#if:{{{votos8|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos8|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos8_ant|}}}|{{#ifexpr:{{{votos8|1}}}>{{{votos8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos8|1}}}<{{{votos8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos8_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos8|1}}}>{{{votos8_ant|0}}}|({{{votos8|1}}}-{{{votos8_ant|1}}})/{{{votos8_ant|1}}}|({{{votos8_ant}}}-{{{votos8}}})/{{{votos8_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v8|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v8|0}}}}}<small> {{#if:{{{votos8|}}}|{{#ifexpr:{{{votos2v8|1}}}>{{{votos8|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v8|1}}}<{{{votos8|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos8|}}}|{{#expr:100*{{#ifexpr:{{{votos2v8|1}}}>{{{votos8|0}}}|({{{votos2v8|1}}}-{{{votos8|1}}})/{{{votos8|1}}}|({{{votos8}}}-{{{votos2v8}}})/{{{votos8}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral8|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral8|0}}}}}<small> {{#if:{{{voto_electoral8_ant|}}}|{{#ifexpr:{{{voto_electoral8|1}}}>{{{voto_electoral8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral8|1}}}<{{{voto_electoral8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral8_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral8|1}}}>{{{voto_electoral8_ant|0}}}|({{{voto_electoral8|1}}}-{{{voto_electoral8_ant|1}}})/{{{voto_electoral8_ant|1}}}|({{{voto_electoral8_ant}}}-{{{voto_electoral8}}})/{{{voto_electoral8_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v8|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v8|0}}}}}<small> {{#if:{{{voto_electoral8_ant|}}}|{{#ifexpr:{{{voto_electoral0v8|1}}}>{{{voto_electoral8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v8|1}}}<{{{voto_electoral8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral8_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v8|1}}}>{{{voto_electoral8_ant|0}}}|({{{voto_electoral0v8|1}}}-{{{voto_electoral8_ant|1}}})/{{{voto_electoral8_ant|1}}}|({{{voto_electoral8_ant}}}-{{{voto_electoral0v8}}})/{{{voto_electoral8_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños8|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños8|0}}}<small> {{#if:{{{escaños8_ant|}}}|{{#ifexpr:{{{escaños8|1}}}>{{{escaños8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños8|1}}}<{{{escaños8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños8_ant|}}}|{{#expr:{{#ifexpr:{{{escaños8|1}}}>{{{escaños8_ant|0}}}|({{{escaños8|1}}}-{{{escaños8_ant|1}}})|({{{escaños8_ant}}}-{{{escaños8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados8|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados8|0}}}<small> {{#if:{{{delegados8_ant|}}}|{{#ifexpr:{{{delegados8|1}}}>{{{delegados8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados8|1}}}<{{{delegados8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados8_ant|}}}|{{#expr:{{#ifexpr:{{{delegados8|1}}}>{{{delegados8_ant|0}}}|({{{delegados8|1}}}-{{{delegados8_ant|1}}})|({{{delegados8_ant}}}-{{{delegados8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes8|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes8|0}}}<small> {{#if:{{{representantes8_ant|}}}|{{#ifexpr:{{{representantes8|1}}}>{{{representantes8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes8|1}}}<{{{representantes8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes8_ant|}}}|{{#expr:{{#ifexpr:{{{representantes8|1}}}>{{{representantes8_ant|0}}}|({{{representantes8|1}}}-{{{representantes8_ant|1}}})|({{{representantes8_ant}}}-{{{representantes8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores8|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores8|0}}}<small> {{#if:{{{senadores8_ant|}}}|{{#ifexpr:{{{senadores8|1}}}>{{{senadores8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores8|1}}}<{{{senadores8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores8_ant|}}}|{{#expr:{{#ifexpr:{{{senadores8|1}}}>{{{senadores8_ant|0}}}|({{{senadores8|1}}}-{{{senadores8_ant|1}}})|({{{senadores8_ant}}}-{{{senadores8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados8|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados8|0}}}<small> {{#if:{{{diputados8_ant|}}}|{{#ifexpr:{{{diputados8|1}}}>{{{diputados8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados8|1}}}<{{{diputados8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados8_ant|}}}|{{#expr:{{#ifexpr:{{{diputados8|1}}}>{{{diputados8_ant|0}}}|({{{diputados8|1}}}-{{{diputados8_ant|1}}})|({{{diputados8_ant}}}-{{{diputados8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones8|0}}}|}}
{{!}}-
{{#if:{{{prefecturas8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas8|0}}}|}}
{{!}}-
{{#if:{{{alcaldías8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías8|0}}}|}}
{{!}}-
{{#if:{{{concejales8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales8|0}}}|}}
{{#if:{{{porcentaje8|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color8|}}};width:{{#expr:{{{porcentaje8|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje8|0}}} %{{{ref_porcentaje8|}}}|}}
{{#if:{{{porcentaje2v8|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color8|}}};width:{{#expr:{{{porcentaje2v8|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v8|0}}} %{{{ref_porcentaje2v8|}}}|}}|}}
{{!}}-
<noinclude>Noveno partido</noinclude>
{{#if:{{{candidato9|}}}{{{partido9|}}}{{{líder9|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color9|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición9|}}}|1|0}}+{{#if:{{{porcentaje9|}}}|1|0}}+{{#if:{{{porcentaje2v9|}}}|1|0}}+{{#if:{{{votos9|}}}|1|0}}+{{#if:{{{votos2v9|}}}|1|0}}+{{#if:{{{voto_electoral9|}}}|1|0}}+{{#if:{{{voto_electoral0v9|}}}|1|0}}+{{#if:{{{senadores9|}}}|1|0}}+{{#if:{{{diputados9|}}}|1|0}}+{{#if:{{{escaños9|}}}|1|0}}+{{#if:{{{gobernaciones9|}}}|1|0}}+{{#if:{{{prefecturas9|}}}|1|0}}+{{#if:{{{alcaldías9|}}}|1|0}}+{{#if:{{{concejales9|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen9|}}}{{{símbolo9|}}}|{{{imagen9|}}}{{{símbolo9|}}}|{{#ifeq:{{{género9}}}|hombre|Archivo:{{#ifexist:media:{{{color9}}} - replace this image male.svg|{{{color9}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género9}}}|mujer|Archivo:{{#ifexist:media:{{{color9}}} - replace this image female.svg|{{{color9}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color9}}} flag waving.svg|{{{color9}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato9|}}}|'''{{{candidato9|}}}''' –|}} {{#if:{{{partido9|}}}|'''{{{partido9|}}}'''|}}{{#if:{{{líder9|}}}| – '''{{{líder9|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición9|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición9|}}}|{{Lista plegable|título={{{coalición9|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición9|}}}
|2 ={{{partido2_coalición9|}}}
|3 ={{{partido3_coalición9|}}}
|4 ={{{partido4_coalición9|}}}
|5 ={{{partido5_coalición9|}}}
|6 ={{{partido6_coalición9|}}}
|7 ={{{partido7_coalición9|}}}
}}|{{{partido1_coalición9}}}}}|}}
{{!}}-
{{#if:{{{votos9|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos9|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos9_ant|}}}|{{#ifexpr:{{{votos9|1}}}>{{{votos9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos9|1}}}<{{{votos9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos9_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos9|1}}}>{{{votos9_ant|0}}}|({{{votos9|1}}}-{{{votos9_ant|1}}})/{{{votos9_ant|1}}}|({{{votos9_ant}}}-{{{votos9}}})/{{{votos9_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v9|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v9|0}}}}}<small> {{#if:{{{votos9|}}}|{{#ifexpr:{{{votos2v9|1}}}>{{{votos9|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v9|1}}}<{{{votos9|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos9|}}}|{{#expr:100*{{#ifexpr:{{{votos2v9|1}}}>{{{votos9|0}}}|({{{votos2v9|1}}}-{{{votos9|1}}})/{{{votos9|1}}}|({{{votos9}}}-{{{votos2v9}}})/{{{votos9}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral9|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral9|0}}}}}<small> {{#if:{{{voto_electoral9_ant|}}}|{{#ifexpr:{{{voto_electoral9|1}}}>{{{voto_electoral9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral9|1}}}<{{{voto_electoral9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral9_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral9|1}}}>{{{voto_electoral9_ant|0}}}|({{{voto_electoral9|1}}}-{{{voto_electoral9_ant|1}}})/{{{voto_electoral9_ant|1}}}|({{{voto_electoral9_ant}}}-{{{voto_electoral9}}})/{{{voto_electoral9_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v9|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v9|0}}}}}<small> {{#if:{{{voto_electoral9_ant|}}}|{{#ifexpr:{{{voto_electoral0v9|1}}}>{{{voto_electoral9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v9|1}}}<{{{voto_electoral9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral9_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v9|1}}}>{{{voto_electoral9_ant|0}}}|({{{voto_electoral0v9|1}}}-{{{voto_electoral9_ant|1}}})/{{{voto_electoral9_ant|1}}}|({{{voto_electoral9_ant}}}-{{{voto_electoral0v9}}})/{{{voto_electoral9_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños9|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños9|0}}}<small> {{#if:{{{escaños9_ant|}}}|{{#ifexpr:{{{escaños9|1}}}>{{{escaños9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños9|1}}}<{{{escaños9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños9_ant|}}}|{{#expr:{{#ifexpr:{{{escaños9|1}}}>{{{escaños9_ant|0}}}|({{{escaños9|1}}}-{{{escaños9_ant|1}}})|({{{escaños9_ant}}}-{{{escaños9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados9|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados9|0}}}<small> {{#if:{{{delegados9_ant|}}}|{{#ifexpr:{{{delegados9|1}}}>{{{delegados9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados9|1}}}<{{{delegados9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados9_ant|}}}|{{#expr:{{#ifexpr:{{{delegados9|1}}}>{{{delegados9_ant|0}}}|({{{delegados9|1}}}-{{{delegados9_ant|1}}})|({{{delegados9_ant}}}-{{{delegados9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes9|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes9|0}}}<small> {{#if:{{{representantes9_ant|}}}|{{#ifexpr:{{{representantes9|1}}}>{{{representantes9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes9|1}}}<{{{representantes9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes9_ant|}}}|{{#expr:{{#ifexpr:{{{representantes9|1}}}>{{{representantes9_ant|0}}}|({{{representantes9|1}}}-{{{representantes9_ant|1}}})|({{{representantes9_ant}}}-{{{representantes9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores9|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores9|0}}}<small> {{#if:{{{senadores9_ant|}}}|{{#ifexpr:{{{senadores9|1}}}>{{{senadores9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores9|1}}}<{{{senadores9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores9_ant|}}}|{{#expr:{{#ifexpr:{{{senadores9|1}}}>{{{senadores9_ant|0}}}|({{{senadores9|1}}}-{{{senadores9_ant|1}}})|({{{senadores9_ant}}}-{{{senadores9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados9|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados9|0}}}<small> {{#if:{{{diputados9_ant|}}}|{{#ifexpr:{{{diputados9|1}}}>{{{diputados9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados9|1}}}<{{{diputados9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados9_ant|}}}|{{#expr:{{#ifexpr:{{{diputados9|1}}}>{{{diputados9_ant|0}}}|({{{diputados9|1}}}-{{{diputados9_ant|1}}})|({{{diputados9_ant}}}-{{{diputados9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones9|0}}}|}}
{{!}}-
{{#if:{{{prefecturas9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas9|0}}}|}}
{{!}}-
{{#if:{{{alcaldías9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías9|0}}}|}}
{{!}}-
{{#if:{{{concejales9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales9|0}}}|}}
{{#if:{{{porcentaje9|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color9|}}};width:{{#expr:{{{porcentaje9|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje9|0}}} %{{{ref_porcentaje9|}}}|}}
{{#if:{{{porcentaje2v9|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color9|}}};width:{{#expr:{{{porcentaje2v9|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v9|0}}} %{{{ref_porcentaje2v9|}}}|}}|}}
{{!}}-
<noinclude>Décimo partido</noinclude>
{{#if:{{{candidato10|}}}{{{partido10|}}}{{{líder10|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color10|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición10|}}}|1|0}}+{{#if:{{{porcentaje10|}}}|1|0}}+{{#if:{{{porcentaje2v10|}}}|1|0}}+{{#if:{{{votos10|}}}|1|0}}+{{#if:{{{votos2v10|}}}|1|0}}+{{#if:{{{voto_electoral10|}}}|1|0}}+{{#if:{{{voto_electoral0v10|}}}|1|0}}+{{#if:{{{senadores10|}}}|1|0}}+{{#if:{{{diputados10|}}}|1|0}}+{{#if:{{{escaños10|}}}|1|0}}+{{#if:{{{gobernaciones10|}}}|1|0}}+{{#if:{{{prefecturas10|}}}|1|0}}+{{#if:{{{alcaldías10|}}}|1|0}}+{{#if:{{{concejales10|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen10|}}}{{{símbolo10|}}}|{{{imagen10|}}}{{{símbolo10|}}}|{{#ifeq:{{{género10}}}|hombre|Archivo:{{#ifexist:media:{{{color10}}} - replace this image male.svg|{{{color10}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género10}}}|mujer|Archivo:{{#ifexist:media:{{{color10}}} - replace this image female.svg|{{{color10}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color10}}} flag waving.svg|{{{color10}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato10|}}}|'''{{{candidato10|}}}''' –|}} {{#if:{{{partido10|}}}|'''{{{partido10|}}}'''|}}{{#if:{{{líder10|}}}| – '''{{{líder10|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición10|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición10|}}}|{{Lista plegable|título={{{coalición10|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición10|}}}
|2 ={{{partido2_coalición10|}}}
|3 ={{{partido3_coalición10|}}}
|4 ={{{partido4_coalición10|}}}
|5 ={{{partido5_coalición10|}}}
|6 ={{{partido6_coalición10|}}}
|7 ={{{partido7_coalición10|}}}
}}|{{{partido1_coalición10}}}}}|}}
{{!}}-
{{#if:{{{votos10|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos10|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos10_ant|}}}|{{#ifexpr:{{{votos10|1}}}>{{{votos10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos10|1}}}<{{{votos10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos10_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos10|1}}}>{{{votos10_ant|0}}}|({{{votos10|1}}}-{{{votos10_ant|1}}})/{{{votos10_ant|1}}}|({{{votos10_ant}}}-{{{votos10}}})/{{{votos10_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v10|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v10|0}}}}}<small> {{#if:{{{votos10|}}}|{{#ifexpr:{{{votos2v10|1}}}>{{{votos10|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v10|1}}}<{{{votos10|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos10|}}}|{{#expr:100*{{#ifexpr:{{{votos2v10|1}}}>{{{votos10|0}}}|({{{votos2v10|1}}}-{{{votos10|1}}})/{{{votos10|1}}}|({{{votos10}}}-{{{votos2v10}}})/{{{votos10}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral10|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral10|0}}}}}<small> {{#if:{{{voto_electoral10_ant|}}}|{{#ifexpr:{{{voto_electoral10|1}}}>{{{voto_electoral10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral10|1}}}<{{{voto_electoral10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral10_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral10|1}}}>{{{voto_electoral10_ant|0}}}|({{{voto_electoral10|1}}}-{{{voto_electoral10_ant|1}}})/{{{voto_electoral10_ant|1}}}|({{{voto_electoral10_ant}}}-{{{voto_electoral10}}})/{{{voto_electoral10_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v10|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v10|0}}}}}<small> {{#if:{{{voto_electoral10_ant|}}}|{{#ifexpr:{{{voto_electoral0v10|1}}}>{{{voto_electoral10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v10|1}}}<{{{voto_electoral10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral10_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v10|1}}}>{{{voto_electoral10_ant|0}}}|({{{voto_electoral0v10|1}}}-{{{voto_electoral10_ant|1}}})/{{{voto_electoral10_ant|1}}}|({{{voto_electoral10_ant}}}-{{{voto_electoral0v10}}})/{{{voto_electoral10_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños10|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños10|0}}}<small> {{#if:{{{escaños10_ant|}}}|{{#ifexpr:{{{escaños10|1}}}>{{{escaños10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños10|1}}}<{{{escaños10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños10_ant|}}}|{{#expr:{{#ifexpr:{{{escaños10|1}}}>{{{escaños10_ant|0}}}|({{{escaños10|1}}}-{{{escaños10_ant|1}}})|({{{escaños10_ant}}}-{{{escaños10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados10|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados10|0}}}<small> {{#if:{{{delegados10_ant|}}}|{{#ifexpr:{{{delegados10|1}}}>{{{delegados10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados10|1}}}<{{{delegados10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados10_ant|}}}|{{#expr:{{#ifexpr:{{{delegados10|1}}}>{{{delegados10_ant|0}}}|({{{delegados10|1}}}-{{{delegados10_ant|1}}})|({{{delegados10_ant}}}-{{{delegados10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes10|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes10|0}}}<small> {{#if:{{{representantes10_ant|}}}|{{#ifexpr:{{{representantes10|1}}}>{{{representantes10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes10|1}}}<{{{representantes10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes10_ant|}}}|{{#expr:{{#ifexpr:{{{representantes10|1}}}>{{{representantes10_ant|0}}}|({{{representantes10|1}}}-{{{representantes10_ant|1}}})|({{{representantes10_ant}}}-{{{representantes10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores10|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores10|0}}}<small> {{#if:{{{senadores10_ant|}}}|{{#ifexpr:{{{senadores10|1}}}>{{{senadores10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores10|1}}}<{{{senadores10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores10_ant|}}}|{{#expr:{{#ifexpr:{{{senadores10|1}}}>{{{senadores10_ant|0}}}|({{{senadores10|1}}}-{{{senadores10_ant|1}}})|({{{senadores10_ant}}}-{{{senadores10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados10|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados10|0}}}<small> {{#if:{{{diputados10_ant|}}}|{{#ifexpr:{{{diputados10|1}}}>{{{diputados10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados10|1}}}<{{{diputados10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados10_ant|}}}|{{#expr:{{#ifexpr:{{{diputados10|1}}}>{{{diputados10_ant|0}}}|({{{diputados10|1}}}-{{{diputados10_ant|1}}})|({{{diputados10_ant}}}-{{{diputados10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones10|0}}}|}}
{{!}}-
{{#if:{{{prefecturas10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas10|0}}}|}}
{{!}}-
{{#if:{{{alcaldías10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías10|0}}}|}}
{{!}}-
{{#if:{{{concejales10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales10|0}}}|}}
{{#if:{{{porcentaje10|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color10|}}};width:{{#expr:{{{porcentaje10|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje10|0}}} %{{{ref_porcentaje10|}}}|}}
{{#if:{{{porcentaje2v10|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color10|}}};width:{{#expr:{{{porcentaje2v10|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v10|0}}} %{{{ref_porcentaje2v10|}}}|}}|}}
{{!}}-
<noinclude>Undécimo partido</noinclude>
{{#if:{{{candidato11|}}}{{{partido11|}}}{{{líder11|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color11|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición11|}}}|1|0}}+{{#if:{{{porcentaje11|}}}|1|0}}+{{#if:{{{porcentaje2v11|}}}|1|0}}+{{#if:{{{votos11|}}}|1|0}}+{{#if:{{{votos2v11|}}}|1|0}}+{{#if:{{{voto_electoral11|}}}|1|0}}+{{#if:{{{voto_electoral0v11|}}}|1|0}}+{{#if:{{{senadores11|}}}|1|0}}+{{#if:{{{diputados11|}}}|1|0}}+{{#if:{{{escaños11|}}}|1|0}}+{{#if:{{{gobernaciones11|}}}|1|0}}+{{#if:{{{prefecturas11|}}}|1|0}}+{{#if:{{{alcaldías11|}}}|1|0}}+{{#if:{{{concejales11|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen11|}}}{{{símbolo11|}}}|{{{imagen11|}}}{{{símbolo11|}}}|{{#ifeq:{{{género11}}}|hombre|Archivo:{{#ifexist:media:{{{color11}}} - replace this image male.svg|{{{color11}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género11}}}|mujer|Archivo:{{#ifexist:media:{{{color11}}} - replace this image female.svg|{{{color11}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color11}}} flag waving.svg|{{{color11}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato11|}}}|'''{{{candidato11|}}}''' –|}} {{#if:{{{partido11|}}}|'''{{{partido11|}}}'''|}}{{#if:{{{líder11|}}}| – '''{{{líder11|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición11|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición11|}}}|{{Lista plegable|título={{{coalición11|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición11|}}}
|2 ={{{partido2_coalición11|}}}
|3 ={{{partido3_coalición11|}}}
|4 ={{{partido4_coalición11|}}}
|5 ={{{partido5_coalición11|}}}
|6 ={{{partido6_coalición11|}}}
|7 ={{{partido7_coalición11|}}}
}}|{{{partido1_coalición11}}}}}|}}
{{!}}-
{{#if:{{{votos11|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos11|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos11_ant|}}}|{{#ifexpr:{{{votos11|1}}}>{{{votos11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos11|1}}}<{{{votos11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos11_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos11|1}}}>{{{votos11_ant|0}}}|({{{votos11|1}}}-{{{votos11_ant|1}}})/{{{votos11_ant|1}}}|({{{votos11_ant}}}-{{{votos11}}})/{{{votos11_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v11|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v11|0}}}}}<small> {{#if:{{{votos11|}}}|{{#ifexpr:{{{votos2v11|1}}}>{{{votos11|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v11|1}}}<{{{votos11|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos11|}}}|{{#expr:100*{{#ifexpr:{{{votos2v11|1}}}>{{{votos11|0}}}|({{{votos2v11|1}}}-{{{votos11|1}}})/{{{votos11|1}}}|({{{votos11}}}-{{{votos2v11}}})/{{{votos11}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral11|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral11|0}}}}}<small> {{#if:{{{voto_electoral11_ant|}}}|{{#ifexpr:{{{voto_electoral11|1}}}>{{{voto_electoral11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral11|1}}}<{{{voto_electoral11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral11_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral11|1}}}>{{{voto_electoral11_ant|0}}}|({{{voto_electoral11|1}}}-{{{voto_electoral11_ant|1}}})/{{{voto_electoral11_ant|1}}}|({{{voto_electoral11_ant}}}-{{{voto_electoral11}}})/{{{voto_electoral11_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v11|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v11|0}}}}}<small> {{#if:{{{voto_electoral11_ant|}}}|{{#ifexpr:{{{voto_electoral0v11|1}}}>{{{voto_electoral11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v11|1}}}<{{{voto_electoral11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral11_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v11|1}}}>{{{voto_electoral11_ant|0}}}|({{{voto_electoral0v11|1}}}-{{{voto_electoral11_ant|1}}})/{{{voto_electoral11_ant|1}}}|({{{voto_electoral11_ant}}}-{{{voto_electoral0v11}}})/{{{voto_electoral11_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños11|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños11|0}}}<small> {{#if:{{{escaños11_ant|}}}|{{#ifexpr:{{{escaños11|1}}}>{{{escaños11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños11|1}}}<{{{escaños11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños11_ant|}}}|{{#expr:{{#ifexpr:{{{escaños11|1}}}>{{{escaños11_ant|0}}}|({{{escaños11|1}}}-{{{escaños11_ant|1}}})|({{{escaños11_ant}}}-{{{escaños11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados11|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados11|0}}}<small> {{#if:{{{delegados11_ant|}}}|{{#ifexpr:{{{delegados11|1}}}>{{{delegados11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados11|1}}}<{{{delegados11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados11_ant|}}}|{{#expr:{{#ifexpr:{{{delegados11|1}}}>{{{delegados11_ant|0}}}|({{{delegados11|1}}}-{{{delegados11_ant|1}}})|({{{delegados11_ant}}}-{{{delegados11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes11|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes11|0}}}<small> {{#if:{{{representantes11_ant|}}}|{{#ifexpr:{{{representantes11|1}}}>{{{representantes11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes11|1}}}<{{{representantes11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes11_ant|}}}|{{#expr:{{#ifexpr:{{{representantes11|1}}}>{{{representantes11_ant|0}}}|({{{representantes11|1}}}-{{{representantes11_ant|1}}})|({{{representantes11_ant}}}-{{{representantes11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores11|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores11|0}}}<small> {{#if:{{{senadores11_ant|}}}|{{#ifexpr:{{{senadores11|1}}}>{{{senadores11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores11|1}}}<{{{senadores11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores11_ant|}}}|{{#expr:{{#ifexpr:{{{senadores11|1}}}>{{{senadores11_ant|0}}}|({{{senadores11|1}}}-{{{senadores11_ant|1}}})|({{{senadores11_ant}}}-{{{senadores11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados11|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados11|0}}}<small> {{#if:{{{diputados11_ant|}}}|{{#ifexpr:{{{diputados11|1}}}>{{{diputados11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados11|1}}}<{{{diputados11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados11_ant|}}}|{{#expr:{{#ifexpr:{{{diputados11|1}}}>{{{diputados11_ant|0}}}|({{{diputados11|1}}}-{{{diputados11_ant|1}}})|({{{diputados11_ant}}}-{{{diputados11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones11|0}}}|}}
{{!}}-
{{#if:{{{prefecturas11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas11|0}}}|}}
{{!}}-
{{#if:{{{alcaldías11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías11|0}}}|}}
{{!}}-
{{#if:{{{concejales11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales11|0}}}|}}
{{#if:{{{porcentaje11|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color11|}}};width:{{#expr:{{{porcentaje11|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje11|0}}} %{{{ref_porcentaje11|}}}|}}
{{#if:{{{porcentaje2v11|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color11|}}};width:{{#expr:{{{porcentaje2v11|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v11|0}}} %{{{ref_porcentaje2v11|}}}|}}|}}
{{!}}-
<noinclude>Duodécimo partido</noinclude>
{{#if:{{{candidato12|}}}{{{partido12|}}}{{{líder12|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color12|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición12|}}}|1|0}}+{{#if:{{{porcentaje12|}}}|1|0}}+{{#if:{{{porcentaje2v12|}}}|1|0}}+{{#if:{{{votos12|}}}|1|0}}+{{#if:{{{votos2v12|}}}|1|0}}+{{#if:{{{voto_electoral12|}}}|1|0}}+{{#if:{{{voto_electoral2v2|}}}|1|0}}+{{#if:{{{senadores12|}}}|1|0}}+{{#if:{{{diputados12|}}}|1|0}}+{{#if:{{{escaños12|}}}|1|0}}+{{#if:{{{gobernaciones12|}}}|1|0}}+{{#if:{{{prefecturas12|}}}|1|0}}+{{#if:{{{alcaldías12|}}}|1|0}}+{{#if:{{{concejales12|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen12|}}}{{{símbolo12|}}}|{{{imagen12|}}}{{{símbolo12|}}}|{{#ifeq:{{{género12}}}|hombre|Archivo:{{#ifexist:media:{{{color12}}} - replace this image male.svg|{{{color12}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género12}}}|mujer|Archivo:{{#ifexist:media:{{{color12}}} - replace this image female.svg|{{{color12}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color12}}} flag waving.svg|{{{color12}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato12|}}}|'''{{{candidato12|}}}''' –|}} {{#if:{{{partido12|}}}|'''{{{partido12|}}}'''|}}{{#if:{{{líder12|}}}| – '''{{{líder12|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición12|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición12|}}}|{{Lista plegable|título={{{coalición12|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición12|}}}
|2 ={{{partido2_coalición12|}}}
|3 ={{{partido3_coalición12|}}}
|4 ={{{partido4_coalición12|}}}
|5 ={{{partido5_coalición12|}}}
|6 ={{{partido6_coalición12|}}}
|7 ={{{partido7_coalición12|}}}
}}|{{{partido1_coalición12}}}}}|}}
{{!}}-
{{#if:{{{votos12|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos12|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos12_ant|}}}|{{#ifexpr:{{{votos12|1}}}>{{{votos12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos12|1}}}<{{{votos12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos12_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos12|1}}}>{{{votos12_ant|0}}}|({{{votos12|1}}}-{{{votos12_ant|1}}})/{{{votos12_ant|1}}}|({{{votos12_ant}}}-{{{votos12}}})/{{{votos12_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v12|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v12|0}}}}}<small> {{#if:{{{votos12|}}}|{{#ifexpr:{{{votos2v12|1}}}>{{{votos12|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v12|1}}}<{{{votos12|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos12|}}}|{{#expr:100*{{#ifexpr:{{{votos2v12|1}}}>{{{votos12|0}}}|({{{votos2v12|1}}}-{{{votos12|1}}})/{{{votos12|1}}}|({{{votos12}}}-{{{votos2v12}}})/{{{votos12}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral12|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral12|0}}}}}<small> {{#if:{{{voto_electoral12_ant|}}}|{{#ifexpr:{{{voto_electoral12|1}}}>{{{voto_electoral12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral12|1}}}<{{{voto_electoral12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral12_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral12|1}}}>{{{voto_electoral12_ant|0}}}|({{{voto_electoral12|1}}}-{{{voto_electoral12_ant|1}}})/{{{voto_electoral12_ant|1}}}|({{{voto_electoral12_ant}}}-{{{voto_electoral12}}})/{{{voto_electoral12_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v12|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v12|0}}}}}<small> {{#if:{{{voto_electoral12_ant|}}}|{{#ifexpr:{{{voto_electoral0v12|1}}}>{{{voto_electoral12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v12|1}}}<{{{voto_electoral12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral12_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v12|1}}}>{{{voto_electoral12_ant|0}}}|({{{voto_electoral0v12|1}}}-{{{voto_electoral12_ant|1}}})/{{{voto_electoral12_ant|1}}}|({{{voto_electoral12_ant}}}-{{{voto_electoral0v12}}})/{{{voto_electoral12_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños12|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños12|0}}}<small> {{#if:{{{escaños12_ant|}}}|{{#ifexpr:{{{escaños12|1}}}>{{{escaños12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños12|1}}}<{{{escaños12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños12_ant|}}}|{{#expr:{{#ifexpr:{{{escaños12|1}}}>{{{escaños12_ant|0}}}|({{{escaños12|1}}}-{{{escaños12_ant|1}}})|({{{escaños12_ant}}}-{{{escaños12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados12|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados12|0}}}<small> {{#if:{{{delegados12_ant|}}}|{{#ifexpr:{{{delegados12|1}}}>{{{delegados12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados12|1}}}<{{{delegados12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados12_ant|}}}|{{#expr:{{#ifexpr:{{{delegados12|1}}}>{{{delegados12_ant|0}}}|({{{delegados12|1}}}-{{{delegados12_ant|1}}})|({{{delegados12_ant}}}-{{{delegados12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes12|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes12|0}}}<small> {{#if:{{{representantes12_ant|}}}|{{#ifexpr:{{{representantes12|1}}}>{{{representantes12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes12|1}}}<{{{representantes12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes12_ant|}}}|{{#expr:{{#ifexpr:{{{representantes12|1}}}>{{{representantes12_ant|0}}}|({{{representantes12|1}}}-{{{representantes12_ant|1}}})|({{{representantes12_ant}}}-{{{representantes12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores12|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores12|0}}}<small> {{#if:{{{senadores12_ant|}}}|{{#ifexpr:{{{senadores12|1}}}>{{{senadores12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores12|1}}}<{{{senadores12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores12_ant|}}}|{{#expr:{{#ifexpr:{{{senadores12|1}}}>{{{senadores12_ant|0}}}|({{{senadores12|1}}}-{{{senadores12_ant|1}}})|({{{senadores12_ant}}}-{{{senadores12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados12|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados12|0}}}<small> {{#if:{{{diputados12_ant|}}}|{{#ifexpr:{{{diputados12|1}}}>{{{diputados12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados12|1}}}<{{{diputados12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados12_ant|}}}|{{#expr:{{#ifexpr:{{{diputados12|1}}}>{{{diputados12_ant|0}}}|({{{diputados12|1}}}-{{{diputados12_ant|1}}})|({{{diputados12_ant}}}-{{{diputados12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones12|0}}}|}}
{{!}}-
{{#if:{{{prefecturas12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas12|0}}}|}}
{{!}}-
{{#if:{{{alcaldías12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías12|0}}}|}}
{{!}}-
{{#if:{{{concejales12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales12|0}}}|}}
{{#if:{{{porcentaje12|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color12|}}};width:{{#expr:{{{porcentaje12|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje12|0}}} %{{{ref_porcentaje12|}}}|}}
{{#if:{{{porcentaje2v12|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color12|}}};width:{{#expr:{{{porcentaje2v12|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v12|0}}} %{{{ref_porcentaje2v12|}}}|}}|}}
{{!}}-
<noinclude>Decimotercero partido</noinclude>
{{#if:{{{candidato13|}}}{{{partido13|}}}{{{líder13|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color13|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición13|}}}|1|0}}+{{#if:{{{porcentaje13|}}}|1|0}}+{{#if:{{{porcentaje2v13|}}}|1|0}}+{{#if:{{{votos13|}}}|1|0}}+{{#if:{{{votos2v13|}}}|1|0}}+{{#if:{{{voto_electoral13|}}}|1|0}}+{{#if:{{{voto_electoral0v13|}}}|1|0}}+{{#if:{{{senadores13|}}}|1|0}}+{{#if:{{{diputados13|}}}|1|0}}+{{#if:{{{escaños13|}}}|1|0}}+{{#if:{{{gobernaciones13|}}}|1|0}}+{{#if:{{{prefecturas13|}}}|1|0}}+{{#if:{{{alcaldías13|}}}|1|0}}+{{#if:{{{concejales13|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen13|}}}{{{símbolo13|}}}|{{{imagen13|}}}{{{símbolo13|}}}|{{#ifeq:{{{género13}}}|hombre|Archivo:{{#ifexist:media:{{{color13}}} - replace this image male.svg|{{{color13}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género13}}}|mujer|Archivo:{{#ifexist:media:{{{color13}}} - replace this image female.svg|{{{color13}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color13}}} flag waving.svg|{{{color13}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato13|}}}|'''{{{candidato13|}}}''' –|}} {{#if:{{{partido13|}}}|'''{{{partido13|}}}'''|}}{{#if:{{{líder13|}}}| – '''{{{líder13|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición13|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición13|}}}|{{Lista plegable|título={{{coalición13|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición13|}}}
|2 ={{{partido2_coalición13|}}}
|3 ={{{partido3_coalición13|}}}
|4 ={{{partido4_coalición13|}}}
|5 ={{{partido5_coalición13|}}}
|6 ={{{partido6_coalición13|}}}
|7 ={{{partido7_coalición13|}}}
}}|{{{partido1_coalición13}}}}}|}}
{{!}}-
{{#if:{{{votos13|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos13|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos13_ant|}}}|{{#ifexpr:{{{votos13|1}}}>{{{votos13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos13|1}}}<{{{votos13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos13_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos13|1}}}>{{{votos13_ant|0}}}|({{{votos13|1}}}-{{{votos13_ant|1}}})/{{{votos13_ant|1}}}|({{{votos13_ant}}}-{{{votos13}}})/{{{votos13_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v13|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v13|0}}}}}<small> {{#if:{{{votos13|}}}|{{#ifexpr:{{{votos2v13|1}}}>{{{votos13|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v13|1}}}<{{{votos13|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos13|}}}|{{#expr:100*{{#ifexpr:{{{votos2v13|1}}}>{{{votos13|0}}}|({{{votos2v13|1}}}-{{{votos13|1}}})/{{{votos13|1}}}|({{{votos13}}}-{{{votos2v13}}})/{{{votos13}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral13|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral13|0}}}}}<small> {{#if:{{{voto_electoral13_ant|}}}|{{#ifexpr:{{{voto_electoral13|1}}}>{{{voto_electoral13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral13|1}}}<{{{voto_electoral13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral13_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral13|1}}}>{{{voto_electoral13_ant|0}}}|({{{voto_electoral13|1}}}-{{{voto_electoral13_ant|1}}})/{{{voto_electoral13_ant|1}}}|({{{voto_electoral13_ant}}}-{{{voto_electoral13}}})/{{{voto_electoral13_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v13|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v13|0}}}}}<small> {{#if:{{{voto_electoral13_ant|}}}|{{#ifexpr:{{{voto_electoral0v13|1}}}>{{{voto_electoral13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v13|1}}}<{{{voto_electoral13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral13_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v13|1}}}>{{{voto_electoral13_ant|0}}}|({{{voto_electoral0v13|1}}}-{{{voto_electoral13_ant|1}}})/{{{voto_electoral13_ant|1}}}|({{{voto_electoral13_ant}}}-{{{voto_electoral0v13}}})/{{{voto_electoral13_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños13|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños13|0}}}<small> {{#if:{{{escaños13_ant|}}}|{{#ifexpr:{{{escaños13|1}}}>{{{escaños13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños13|1}}}<{{{escaños13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños13_ant|}}}|{{#expr:{{#ifexpr:{{{escaños13|1}}}>{{{escaños13_ant|0}}}|({{{escaños13|1}}}-{{{escaños13_ant|1}}})|({{{escaños13_ant}}}-{{{escaños13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados13|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados13|0}}}<small> {{#if:{{{delegados13_ant|}}}|{{#ifexpr:{{{delegados13|1}}}>{{{delegados13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados13|1}}}<{{{delegados13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados13_ant|}}}|{{#expr:{{#ifexpr:{{{delegados13|1}}}>{{{delegados13_ant|0}}}|({{{delegados13|1}}}-{{{delegados13_ant|1}}})|({{{delegados13_ant}}}-{{{delegados13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes13|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes13|0}}}<small> {{#if:{{{representantes13_ant|}}}|{{#ifexpr:{{{representantes13|1}}}>{{{representantes13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes13|1}}}<{{{representantes13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes13_ant|}}}|{{#expr:{{#ifexpr:{{{representantes13|1}}}>{{{representantes13_ant|0}}}|({{{representantes13|1}}}-{{{representantes13_ant|1}}})|({{{representantes13_ant}}}-{{{representantes13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores13|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores13|0}}}<small> {{#if:{{{senadores13_ant|}}}|{{#ifexpr:{{{senadores13|1}}}>{{{senadores13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores13|1}}}<{{{senadores13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores13_ant|}}}|{{#expr:{{#ifexpr:{{{senadores13|1}}}>{{{senadores13_ant|0}}}|({{{senadores13|1}}}-{{{senadores13_ant|1}}})|({{{senadores13_ant}}}-{{{senadores13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados13|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados13|0}}}<small> {{#if:{{{diputados13_ant|}}}|{{#ifexpr:{{{diputados13|1}}}>{{{diputados13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados13|1}}}<{{{diputados13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados13_ant|}}}|{{#expr:{{#ifexpr:{{{diputados13|1}}}>{{{diputados13_ant|0}}}|({{{diputados13|1}}}-{{{diputados13_ant|1}}})|({{{diputados13_ant}}}-{{{diputados13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones13|0}}}|}}
{{!}}-
{{#if:{{{prefecturas13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas13|0}}}|}}
{{!}}-
{{#if:{{{alcaldías13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías13|0}}}|}}
{{!}}-
{{#if:{{{concejales13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales13|0}}}|}}
{{#if:{{{porcentaje13|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color13|}}};width:{{#expr:{{{porcentaje13|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje13|0}}} %{{{ref_porcentaje13|}}}|}}
{{#if:{{{porcentaje2v13|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color13|}}};width:{{#expr:{{{porcentaje2v13|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v13|0}}} %{{{ref_porcentaje2v13|}}}|}}|}}
{{!}}-
<noinclude>Decimocuarto partido</noinclude>
{{#if:{{{candidato14|}}}{{{partido14|}}}{{{líder14|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color14|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición14|}}}|1|0}}+{{#if:{{{porcentaje14|}}}|1|0}}+{{#if:{{{porcentaje2v14|}}}|1|0}}+{{#if:{{{votos14|}}}|1|0}}+{{#if:{{{votos2v14|}}}|1|0}}+{{#if:{{{voto_electoral14|}}}|1|0}}+{{#if:{{{voto_electoral0v14|}}}|1|0}}+{{#if:{{{senadores14|}}}|1|0}}+{{#if:{{{diputados14|}}}|1|0}}+{{#if:{{{escaños14|}}}|1|0}}+{{#if:{{{gobernaciones14|}}}|1|0}}+{{#if:{{{prefecturas14|}}}|1|0}}+{{#if:{{{alcaldías14|}}}|1|0}}+{{#if:{{{concejales14|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen14|}}}{{{símbolo14|}}}|{{{imagen14|}}}{{{símbolo14|}}}|{{#ifeq:{{{género14}}}|hombre|Archivo:{{#ifexist:media:{{{color14}}} - replace this image male.svg|{{{color14}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género14}}}|mujer|Archivo:{{#ifexist:media:{{{color14}}} - replace this image female.svg|{{{color14}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color14}}} flag waving.svg|{{{color14}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato14|}}}|'''{{{candidato14|}}}''' –|}} {{#if:{{{partido14|}}}|'''{{{partido14|}}}'''|}}{{#if:{{{líder14|}}}| – '''{{{líder14|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición14|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición14|}}}|{{Lista plegable|título={{{coalición14|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición14|}}}
|2 ={{{partido2_coalición14|}}}
|3 ={{{partido3_coalición14|}}}
|4 ={{{partido4_coalición14|}}}
|5 ={{{partido5_coalición14|}}}
|6 ={{{partido6_coalición14|}}}
|7 ={{{partido7_coalición14|}}}
}}|{{{partido1_coalición14}}}}}|}}
{{!}}-
{{#if:{{{votos14|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos14|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos14_ant|}}}|{{#ifexpr:{{{votos14|1}}}>{{{votos14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos14|1}}}<{{{votos14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos14_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos14|1}}}>{{{votos14_ant|0}}}|({{{votos14|1}}}-{{{votos14_ant|1}}})/{{{votos14_ant|1}}}|({{{votos14_ant}}}-{{{votos14}}})/{{{votos14_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v14|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v14|0}}}}}<small> {{#if:{{{votos14|}}}|{{#ifexpr:{{{votos2v14|1}}}>{{{votos14|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v14|1}}}<{{{votos14|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos14|}}}|{{#expr:100*{{#ifexpr:{{{votos2v14|1}}}>{{{votos14|0}}}|({{{votos2v14|1}}}-{{{votos14|1}}})/{{{votos14|1}}}|({{{votos14}}}-{{{votos2v14}}})/{{{votos14}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral14|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral14|0}}}}}<small> {{#if:{{{voto_electoral14_ant|}}}|{{#ifexpr:{{{voto_electoral14|1}}}>{{{voto_electoral14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral14|1}}}<{{{voto_electoral14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral14_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral14|1}}}>{{{voto_electoral14_ant|0}}}|({{{voto_electoral14|1}}}-{{{voto_electoral14_ant|1}}})/{{{voto_electoral14_ant|1}}}|({{{voto_electoral14_ant}}}-{{{voto_electoral14}}})/{{{voto_electoral14_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v14|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v14|0}}}}}<small> {{#if:{{{voto_electoral14_ant|}}}|{{#ifexpr:{{{voto_electoral0v14|1}}}>{{{voto_electoral14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v14|1}}}<{{{voto_electoral14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral14_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v14|1}}}>{{{voto_electoral14_ant|0}}}|({{{voto_electoral0v14|1}}}-{{{voto_electoral14_ant|1}}})/{{{voto_electoral14_ant|1}}}|({{{voto_electoral14_ant}}}-{{{voto_electoral0v14}}})/{{{voto_electoral14_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños14|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños14|0}}}<small> {{#if:{{{escaños14_ant|}}}|{{#ifexpr:{{{escaños14|1}}}>{{{escaños14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños14|1}}}<{{{escaños14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños14_ant|}}}|{{#expr:{{#ifexpr:{{{escaños14|1}}}>{{{escaños14_ant|0}}}|({{{escaños14|1}}}-{{{escaños14_ant|1}}})|({{{escaños14_ant}}}-{{{escaños14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados14|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados14|0}}}<small> {{#if:{{{delegados14_ant|}}}|{{#ifexpr:{{{delegados14|1}}}>{{{delegados14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados14|1}}}<{{{delegados14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados14_ant|}}}|{{#expr:{{#ifexpr:{{{delegados14|1}}}>{{{delegados14_ant|0}}}|({{{delegados14|1}}}-{{{delegados14_ant|1}}})|({{{delegados14_ant}}}-{{{delegados14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes14|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes14|0}}}<small> {{#if:{{{representantes14_ant|}}}|{{#ifexpr:{{{representantes14|1}}}>{{{representantes14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes14|1}}}<{{{representantes14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes14_ant|}}}|{{#expr:{{#ifexpr:{{{representantes14|1}}}>{{{representantes14_ant|0}}}|({{{representantes14|1}}}-{{{representantes14_ant|1}}})|({{{representantes14_ant}}}-{{{representantes14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores14|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores14|0}}}<small> {{#if:{{{senadores14_ant|}}}|{{#ifexpr:{{{senadores14|1}}}>{{{senadores14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores14|1}}}<{{{senadores14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores14_ant|}}}|{{#expr:{{#ifexpr:{{{senadores14|1}}}>{{{senadores14_ant|0}}}|({{{senadores14|1}}}-{{{senadores14_ant|1}}})|({{{senadores14_ant}}}-{{{senadores14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados14|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados14|0}}}<small> {{#if:{{{diputados14_ant|}}}|{{#ifexpr:{{{diputados14|1}}}>{{{diputados14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados14|1}}}<{{{diputados14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados14_ant|}}}|{{#expr:{{#ifexpr:{{{diputados14|1}}}>{{{diputados14_ant|0}}}|({{{diputados14|1}}}-{{{diputados14_ant|1}}})|({{{diputados14_ant}}}-{{{diputados14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones14|0}}}|}}
{{!}}-
{{#if:{{{prefecturas14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas14|0}}}|}}
{{!}}-
{{#if:{{{alcaldías14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías14|0}}}|}}
{{!}}-
{{#if:{{{concejales14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales14|0}}}|}}
{{#if:{{{porcentaje14|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color14|}}};width:{{#expr:{{{porcentaje14|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje14|0}}} %{{{ref_porcentaje14|}}}|}}
{{#if:{{{porcentaje2v14|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color14|}}};width:{{#expr:{{{porcentaje2v14|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v14|0}}} %{{{ref_porcentaje2v14|}}}|}}|}}
{{!}}-
<noinclude>Decimoquinto partido</noinclude>
{{#if:{{{candidato15|}}}{{{partido15|}}}{{{líder15|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color15|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición15|}}}|1|0}}+{{#if:{{{porcentaje15|}}}|1|0}}+{{#if:{{{porcentaje2v15|}}}|1|0}}+{{#if:{{{votos15|}}}|1|0}}+{{#if:{{{votos2v15|}}}|1|0}}+{{#if:{{{voto_electoral15|}}}|1|0}}+{{#if:{{{voto_electoral0v15|}}}|1|0}}+{{#if:{{{senadores15|}}}|1|0}}+{{#if:{{{diputados15|}}}|1|0}}+{{#if:{{{escaños15|}}}|1|0}}+{{#if:{{{gobernaciones15|}}}|1|0}}+{{#if:{{{prefecturas15|}}}|1|0}}+{{#if:{{{alcaldías15|}}}|1|0}}+{{#if:{{{concejales15|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen15|}}}{{{símbolo15|}}}|{{{imagen15|}}}{{{símbolo15|}}}|{{#ifeq:{{{género15}}}|hombre|Archivo:{{#ifexist:media:{{{color15}}} - replace this image male.svg|{{{color15}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género15}}}|mujer|Archivo:{{#ifexist:media:{{{color15}}} - replace this image female.svg|{{{color15}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color15}}} flag waving.svg|{{{color15}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato15|}}}|'''{{{candidato15|}}}''' –|}} {{#if:{{{partido15|}}}|'''{{{partido15|}}}'''|}}{{#if:{{{líder15|}}}| – '''{{{líder15|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición15|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición15|}}}|{{Lista plegable|título={{{coalición15|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición15|}}}
|2 ={{{partido2_coalición15|}}}
|3 ={{{partido3_coalición15|}}}
|4 ={{{partido4_coalición15|}}}
|5 ={{{partido5_coalición15|}}}
|6 ={{{partido6_coalición15|}}}
|7 ={{{partido7_coalición15|}}}
}}|{{{partido1_coalición15}}}}}|}}
{{!}}-
{{#if:{{{votos15|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos15|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos15_ant|}}}|{{#ifexpr:{{{votos15|1}}}>{{{votos15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos15|1}}}<{{{votos15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos15_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos15|1}}}>{{{votos15_ant|0}}}|({{{votos15|1}}}-{{{votos15_ant|1}}})/{{{votos15_ant|1}}}|({{{votos15_ant}}}-{{{votos15}}})/{{{votos15_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v15|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v15|0}}}}}<small> {{#if:{{{votos15|}}}|{{#ifexpr:{{{votos2v15|1}}}>{{{votos15|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v15|1}}}<{{{votos15|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos15|}}}|{{#expr:100*{{#ifexpr:{{{votos2v15|1}}}>{{{votos15|0}}}|({{{votos2v15|1}}}-{{{votos15|1}}})/{{{votos15|1}}}|({{{votos15}}}-{{{votos2v15}}})/{{{votos15}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral15|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral15|0}}}}}<small> {{#if:{{{voto_electoral15_ant|}}}|{{#ifexpr:{{{voto_electoral15|1}}}>{{{voto_electoral15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral15|1}}}<{{{voto_electoral15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral15_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral15|1}}}>{{{voto_electoral15_ant|0}}}|({{{voto_electoral15|1}}}-{{{voto_electoral15_ant|1}}})/{{{voto_electoral15_ant|1}}}|({{{voto_electoral15_ant}}}-{{{voto_electoral15}}})/{{{voto_electoral15_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v15|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v15|0}}}}}<small> {{#if:{{{voto_electoral15_ant|}}}|{{#ifexpr:{{{voto_electoral0v15|1}}}>{{{voto_electoral15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v15|1}}}<{{{voto_electoral15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral15_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v15|1}}}>{{{voto_electoral15_ant|0}}}|({{{voto_electoral0v15|1}}}-{{{voto_electoral15_ant|1}}})/{{{voto_electoral15_ant|1}}}|({{{voto_electoral15_ant}}}-{{{voto_electoral0v15}}})/{{{voto_electoral15_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños15|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños15|0}}}<small> {{#if:{{{escaños15_ant|}}}|{{#ifexpr:{{{escaños15|1}}}>{{{escaños15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños15|1}}}<{{{escaños15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños15_ant|}}}|{{#expr:{{#ifexpr:{{{escaños15|1}}}>{{{escaños15_ant|0}}}|({{{escaños15|1}}}-{{{escaños15_ant|1}}})|({{{escaños15_ant}}}-{{{escaños15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados15|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados15|0}}}<small> {{#if:{{{delegados15_ant|}}}|{{#ifexpr:{{{delegados15|1}}}>{{{delegados15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados15|1}}}<{{{delegados15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados15_ant|}}}|{{#expr:{{#ifexpr:{{{delegados15|1}}}>{{{delegados15_ant|0}}}|({{{delegados15|1}}}-{{{delegados15_ant|1}}})|({{{delegados15_ant}}}-{{{delegados15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes15|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes15|0}}}<small> {{#if:{{{representantes15_ant|}}}|{{#ifexpr:{{{representantes15|1}}}>{{{representantes15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes15|1}}}<{{{representantes15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes15_ant|}}}|{{#expr:{{#ifexpr:{{{representantes15|1}}}>{{{representantes15_ant|0}}}|({{{representantes15|1}}}-{{{representantes15_ant|1}}})|({{{representantes15_ant}}}-{{{representantes15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores15|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores15|0}}}<small> {{#if:{{{senadores15_ant|}}}|{{#ifexpr:{{{senadores15|1}}}>{{{senadores15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores15|1}}}<{{{senadores15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores15_ant|}}}|{{#expr:{{#ifexpr:{{{senadores15|1}}}>{{{senadores15_ant|0}}}|({{{senadores15|1}}}-{{{senadores15_ant|1}}})|({{{senadores15_ant}}}-{{{senadores15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados15|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados15|0}}}<small> {{#if:{{{diputados15_ant|}}}|{{#ifexpr:{{{diputados15|1}}}>{{{diputados15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados15|1}}}<{{{diputados15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados15_ant|}}}|{{#expr:{{#ifexpr:{{{diputados15|1}}}>{{{diputados15_ant|0}}}|({{{diputados15|1}}}-{{{diputados15_ant|1}}})|({{{diputados15_ant}}}-{{{diputados15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones15|0}}}|}}
{{!}}-
{{#if:{{{prefecturas15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas15|0}}}|}}
{{!}}-
{{#if:{{{alcaldías15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías15|0}}}|}}
{{!}}-
{{#if:{{{concejales15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales15|0}}}|}}
{{#if:{{{porcentaje15|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color15|}}};width:{{#expr:{{{porcentaje15|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje15|0}}} %{{{ref_porcentaje15|}}}|}}
{{#if:{{{porcentaje2v15|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color15|}}};width:{{#expr:{{{porcentaje2v15|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v15|0}}} %{{{ref_porcentaje2v15|}}}|}}|}}
{{!}}-
<noinclude>Resto de la plantilla</noinclude>
{{#if:{{{mapa_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{mapa_título}}}'''|}}
|-
{{#if:{{{mapa|}}}|{{!}} colspan="12" style=" text-align:center;"{{!}} [[{{{mapa}}}|{{{mapa_tamaño|200px}}}|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda_mapa1|}}}| {{!}} {{#if:{{{leyenda_mapa2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda_mapa1}}}</div>|}}
{{#if:{{{leyenda_mapa2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda_mapa2}}}</div>|}}
|-
{{#if:{{{mapa_subtítulo|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} <small>{{{mapa_subtítulo}}}</small>|}}
{{#if:{{{mapa2_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{mapa2_título}}}'''|}}
|-
{{#if:{{{mapa2|}}}|{{!}} colspan="12" style=" text-align:center;"{{!}} [[{{{mapa2}}}|{{{mapa2_tamaño|200px}}}|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda_mapa1_2|}}}| {{!}} {{#if:{{{leyenda_mapa2_2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda_mapa1_2}}}</div>|}}
{{#if:{{{leyenda_mapa2_2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda_mapa2_2}}}</div>|}}
|-
{{#if:{{{mapa2_subtítulo|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} <small>{{{mapa2_subtítulo}}}</small>|}}
|-
{{#if:{{{diagrama_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{diagrama_título}}}'''|}}
|-
{{#if:{{{diagrama|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} [[{{{diagrama}}}|{{{diagrama_tamaño|200}}}px|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda1|}}}| {{!}} {{#if:{{{leyenda2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda1}}}</div>|}}
{{#if:{{{leyenda2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda2}}}</div>|}}
|-
{{#if:{{{diagrama2_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{diagrama2_título}}}'''|}}
|-
{{#if:{{{diagrama2|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} [[{{{diagrama2}}}|{{{diagrama2_tamaño|200}}}px|{{PAGENAME}}]]|}}
|-
{{#if:{{{diagrama3_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{diagrama3_título}}}'''|}}
|-
{{#if:{{{diagrama3|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} [[{{{diagrama3}}}|{{{diagrama3_tamaño|200}}}px|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda1_2|}}}| {{!}} {{#if:{{{leyenda2_2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda1_2}}}</div>|}}
{{#if:{{{leyenda2_2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda2_2}}}</div>|}}
|-
{{#if:{{{título_barras|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras}}}'''|}}
|-
{{#if:{{{barras1|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras1}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras1}}}; width:{{#expr:{{{porcentaje_barras1|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras1|0}}} %|}}
{{!}}-
{{#if:{{{título_barras2|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras2}}}'''|}}
{{!}}-
{{#if:{{{barras2|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras2}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras2}}}; width:{{#expr:{{{porcentaje_barras2|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras2|0}}} %|}}
{{!}}-
{{#if:{{{título_barras3|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras3}}}'''|}}
{{!}}-
{{#if:{{{barras3|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras3}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras3}}}; width:{{#expr:{{{porcentaje_barras3|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras3|0}}} %|}}
{{!}}-
{{#if:{{{título_barras4|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras4}}}'''|}}
{{!}}-
{{#if:{{{barras4|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras4}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras4}}}; width:{{#expr:{{{porcentaje_barras4|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras4|0}}} %|}}
{{!}}-
{{#if:{{{barras5|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras5}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras5}}}; width:{{#expr:{{{porcentaje_barras5|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras5|0}}} %|}}
{{!}}-
{{#if:{{{barras6|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras6}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras6}}}; width:{{#expr:{{{porcentaje_barras6|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras6|0}}} %|}}
{{!}}-
{{#if:{{{barras7|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras7}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras7}}}; width:{{#expr:{{{porcentaje_barras7|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras7|0}}} %|}}
{{!}}-
{{#if:{{{barras8|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras8}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras8}}}; width:{{#expr:{{{porcentaje_barras8|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras8|0}}} %|}}
{{!}}-
{{#if:{{{barras9|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras9}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras9}}}; width:{{#expr:{{{porcentaje_barras9|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras9|0}}} %|}}
{{!}}-
{{#if:{{{barras10|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras10}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras10}}}; width:{{#expr:{{{porcentaje_barras10|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras10|0}}} %|}}
|-
{{#if:{{{subtítulo_barras|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} <small>{{{subtítulo_barras}}}</small>|}}
|-
{{#if:{{{predecesor|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{cargo}}}'''
{{!}}-
{{!}} colspan="6"{{!}}<div style="text-align:left; text-size:80%; float:left;">'''Titular'''<br />{{{predecesor}}}{{#if:{{{partido_predecesor|}}}|<br /><small>{{{partido_predecesor|}}}</small>|}}</div>
{{!}} colspan="6"{{!}}{{#if:{{{sucesor|}}}|<div style="text-align:right; text-size:80%; float:right;">'''Electo'''<br />{{{sucesor}}}{{#if:{{{partido_sucesor|}}}|<br /><small>{{{partido_sucesor}}}</small>|}}</div>|}}}}
|-
{{#if:{{{extra_encabezado|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{extra_encabezado}}}'''|}}
|-
{{#if:{{{extra_contenido|}}}|{{!}} colspan="12" style="text-align:left;"{{!}}{{{extra_contenido}}}|}}
|-
{{#if:{{{extra_encabezado2|}}}|{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{extra_encabezado2}}}'''|}}
|-
{{#if:{{{extra_contenido2|}}}|{{!}} colspan="12" style="text-align:left;"{{!}}{{{extra_contenido2}}}|}}
|-
{{#if:{{{sitio_web|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} {{{sitio_web}}}|}}
|}</includeonly><noinclude>{{adaptar ficha}}
{{documentación}}</noinclude>
91d52a420b918fc36a0ad0155134a5d10386b16e
Plantilla:Listaref
10
65
128
2023-02-28T20:23:37Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Listaref]]»: Plantilla muy utilizada ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<div class="listaref" style="<!--
-->{{#if: {{{ancho|{{{colwidth|}}}}}}
| -moz-column-width: {{{ancho{{{colwidth|}}}}}}; -webkit-column-width: {{{ancho{{{colwidth|}}}}}}; column-width: {{{ancho{{{colwidth|}}}}}};
| {{#if: {{{1|}}}
| -moz-column-count:{{{1}}}; -webkit-column-count:{{{1}}}; column-count:{{{1}}};
}}
}} list-style-type: <!--
-->{{{estilolista|{{{liststyle|{{#switch: {{{grupo|{{{group|}}}}}}
| upper-alpha
| upper-roman
| lower-alpha
| lower-greek
| lower-roman = {{{grupo|{{{group}}}}}}
| #default = decimal}}}}}}}};">{{#tag:references|{{{refs|}}}|group={{{grupo|{{{group|}}}}}}}}</div><noinclude>{{documentación}}</noinclude>
9605b8ca2604e39a33b81b6b8a8ff297e6988b71
Plantilla:Control de autoridades/styles.css
10
57
112
2023-02-28T20:24:12Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Control de autoridades/styles.css]]»: Plantilla muy utilizada: Aplicando protección de editor de plantillas: № 1, en 1697668 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
text
text/plain
/**
* [[Categoría:Wikipedia:Subpáginas de estilo de plantillas]]
*/
.mw-authority-control {
margin-top: 1.5em;
}
.mw-authority-control .navbox table {
margin: 0;
}
.mw-authority-control .navbox hr:last-child {
display: none;
}
.mw-authority-control .navbox + .mw-mf-linked-projects {
display: none;
}
.mw-authority-control .mw-mf-linked-projects {
display: flex;
padding: 0.5em;
border: 1px solid #c8ccd1;
background-color: #eaecf0;
color: #222222;
}
.mw-authority-control .mw-mf-linked-projects ul li {
margin-bottom: 0;
}
a877a525aeafc153e1d024760c5f7bbeb9d248d6
Plantilla:Control de autoridades
10
56
110
2023-02-28T20:30:38Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Control de autoridades]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 4, en 1251665 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{{#invoke:Control de autoridades|authorityControl}}<noinclude>{{documentación}}</noinclude>
8b72da389c2a92bd16ce8d097d39771b3b450284
Plantilla:Propiedad
10
46
90
2023-02-28T20:30:40Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Propiedad]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 5, en 1192679 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{{<includeonly>safesubst:</includeonly>#invoke:Wikidata
|Wikidata
|propiedad = {{{1|}}}
|valor = {{{2|}}}
|separador = {{{separador|{{{3|,}}}}}}
|valor-módulo = {{{módulo|{{{4|Wikidata/Formatos}}}}}}
|valor-función = {{{tipo de dato|{{{5|}}}}}}
|legend = {{{pie|{{{6|}}}}}}
|conjunción = {{{conjunción|{{{3|y}}}}}}
|calificador = {{{calificador|}}}
|dato = {{{dato|}}}
|uno = {{{uno|}}}
|rangoMayor = {{{rango mayor|{{{rango_mayor|}}}}}}
|formatoTexto = {{{formato texto|}}}
|formatoFecha = {{{formato fecha|}}}
|formatoUnidad = {{{formato unidad|}}}
|formatoCalificador = {{{formato calificador|}}}
|filtroCalificador = {{{filtro calificador|}}}
|filtroValor = {{{filtro valor|}}}
|enlace = {{{link|{{{enlace|}}}}}}
|etiqueta = {{{etiqueta|null}}}
|prioridad = {{{prioridad|}}}
|tipo = {{{tipo|city}}}
|display = {{{display|{{#if:{{{entidad|}}}|inline|inline,title}}}}}
|formato = {{{formato|dms}}}
|entityId = {{{entidad|}}}
|lista = {{{lista|}}}
|importar = {{{importar|}}}
|categorias = {{{categorías|}}}
|debeExistir = {{{debe existir|}}}
|propiedadValor= {{{propiedad_valor|}}}
|calificativo = {{{calificativo|}}}
|módulo calificativo = {{{módulo calificativo|}}}
|linkback = {{{linkback|}}}
|ordenar = {{{ordenar|}}}
|idioma = {{{idioma|}}}
}}<noinclude>{{documentación}}</noinclude>
6d04246290d22cec74cfdf85b22b12b6c0d69f2b
Plantilla:Cita web
10
49
96
2023-02-28T20:31:18Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Cita web]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 7, en 954896 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{#invoke:Citas | cita|ClaseCita=web}}</includeonly><noinclude>{{documentación}}</noinclude>
eb5095922f3697625ce9d7746828d5e6aeac86c1
Plantilla:Título sin coletilla
10
72
142
2023-02-28T20:31:25Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Título sin coletilla]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 10, en 571701 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{#Invoke:String|replace|{{{1|{{PAGENAME}}}}}|%s%(.*%)||plain=false}}</includeonly><noinclude>{{Documentación}}</noinclude>
33b43a63397816c0133d416d0edef688f57ba6c7
Plantilla:Commonscat
10
71
140
2023-02-28T20:31:43Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Commonscat]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 17, en 387256 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
*[[Archivo:Commons-logo.svg|15px|link=|alt=]] [[Wikimedia Commons]] alberga {{{objeto|una categoría multimedia}}} {{{preposicion|{{{preposición|sobre}}}}}} '''[[Commons:Category:{{#if:{{{1|{{{nombre|}}}}}}{{#property:P373}}|{{Propiedad|P373|{{{1|{{{nombre|}}}}}}|categorías=no|enlace=no|prioridad=no|uno=sí}}|{{Título sin coletilla|{{FULLPAGENAME}}}}}}|{{#if:{{{2|{{{etiqueta|}}}}}}|{{{2|{{{etiqueta|}}}}}}|{{Título sin coletilla}}}}]]'''.<noinclude>
{{documentación}}</noinclude>
f5b5ead007a924bd0da7e3c91c0d489573bb787c
Plantilla:Obtener idioma
10
48
94
2023-02-28T20:31:58Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Obtener idioma]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 23, en 348530 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{#switch:{{{1}}}
|aa = afar
|ab = abjaso
|ace = achenés
|ae = avéstico
|af = afrikáans
|ain = ainu
|ak = acano
|akz = alabama
|alc = kawésqar
|als = alemánico
|am = amhárico
|an = aragonés
|ang = anglosajón
|ar = árabe
|arc = arameo
|arn = mapudungun
|arz = árabe egipcio
|as = asamés
|ast = asturiano
|av = avar
|ay = aimara
|az = azerí
|ba = baskir
|bar = austro-bávaro
|bat-smg = samogitiano
|bcl = bicolano central
|be = bielorruso
|be-x-old = bielorruso (taraškievica)
|bem = bemba
|bg = búlgaro
|bh = biharí
|bi = bislama
|bjn = banjarí
|bm = bambara
|bn = bengalí
|bo = tibetano
|bpy = bishnupriya manipuri
|br = bretón
|bs = bosnio
|bug = buginés
|bxr = buriato
|ca = catalán
|cak = cackchiquel
|cbk-zam = chabacano de Zamboanga
|cbs = cashinahua
|ce = checheno
|ceb = cebuano
|chr = chamorro
|cho = choctaw
|chr = cheroqui
|chy = cheyenne
|ckb = soraní
|clm = klallam
|co = corso
|com = comanche
|cr = cree
|crh = tártaro de Crimea
|cs = checo
|csb = casubio
|cu = eslavo
|cv = chuvasio
|cy = galés
|da = danés
|de = alemán
|diq = zazaki
|dsb = bajo sorabo
|dv = dhivehi
|dz = dzongkha
|ee = ewe
|el = griego
|eml = emiliano-romañol
|en = inglés
|eo = esperanto
|es = español
|et = estonio
|eu = euskera
|ext = extremeño
|fa = persa
|ff = fula
|fi = finés
|fiu-vro = võro
|fj = fiyiano
|fo = feroés
|fr = francés
|frp = franco-provenzal
|frr = frisón septentrional
|fur = friulano
|fy = frisón
|ga = gaélico irlandés
|gag = gagauzo
|gan = chino gan
|gd = gaélico escocés
|gl = gallego
|glk = gileki
|gn = guaraní
|got = gótico
|grc = griego antiguo
|gu = guyaratí
|gv = manés
|ha = hausa
|hak = chino hakka
|haw = hawaiano
|he = hebreo
|hi = hindi
|hif = hindi de Fiyi
|ho = hiri motu
|hr = croata
|hsb = alto sorabo
|ht = criollo haitiano
|hu = húngaro
|hy = armenio
|hz = herero
|ia = interlingua
|id = indonesio
|ie = occidental
|ig = igbo
|ii = yi
|ik = iñupiaq
|ilo = ilocano
|io = ido
|is = islandés
|it = italiano
|iu = inuktitut
|ja = japonés
|jbo = lojban
|jv = javanés
|ka = georgiano
|kaa = karakalpako
|kab = cabilio
|kbd = cabardiano
|kg = kikongo
|ki = kikuyu
|kj = kuanyama
|kk = kazajo
|kl = groenlandés
|km = camboyano
|kn = canarés
|ko = coreano
|koi = komi permio
|krc = karachayo-bálkaro
|krl = carelio
|ks = cachemir
|ksh = fráncico ripuario
|ku = kurdo
|kuz = kunza
|kv = komi
|kw = córnico
|ky = kirguís
|la = latín
|lad = judeoespañol
|lb = luxemburgués
|lbe = lak
|lez = lezgui
|lg = luganda
|li = limburgués
|lij = ligur
|lmo = lombardo
|ln = lingala
|lo = laosiano
|lt = lituano
|ltg = latgalio
|lv = letón
|map-bms = banyumasan
|mdf = moksha
|mg = malgache
|mh = marshalés
|mhr = mari oriental
|mi = maorí
|min = minangkabau
|miq = misquito
|mit = mixteco
|mk = macedonio
|ml = malayalam
|mn = mongol
|mnc = manchú
|mo = moldavo
|mr = maratí
|mrj = mari occidental
|ms = malayo
|mt = maltés
|mus = creek
|mwl = mirandés
|my = birmano
|myv = erzya
|mzn = mazandaraní
|na = naruano
|nah = náhuatl
|nap = napolitano
|nci = náhuatl clásico
|nds = bajo sajón
|nds-nl = bajo sajón neerlandés
|ne = nepalés
|new = nepal Bhasa
|ng = ndonga
|nl = neerlandés
|nn = noruego (nynorsk)
|no = noruego (bokmål)
|nov = novial
|nso = sotho norteño
|nrm = normando
|nv = navajo
|ny = chichewa
|oc = occitano
|om = oromo
|or = oriya
|os = osetio
|osp = castellano antiguo
|pa = panyabí
|pag = pangasinense
|pam = pampango
|pap = papiamento
|pcd = picardo
|pdc = alemán de Pensilvania
|pfl = palatino
|pi = pali
|pih = pitcairnés-norfolkense
|pl = polaco
|pms = piamontés
|pnb = panyabí occidental
|pnt = póntico
|ppl = pipil
|ps = pastún
|pt = portugués
|pua = purépecha
|qu = quechua
|quc = quiché
|rap = rapa nui
|rhg = rohingya
|rm = romanche
|rmy = romaní
|rn = kirundi
|ro = rumano
|roa-rup = arumano
|roa-tara = tarantino
|ru = ruso
|rue = rusino
|rw = kinyarwanda
|sa = sánscrito
|sah = yakuto
|sc = sardo
|scn = siciliano
|sco = escocés
|sd = sindhi
|se = sami septentrional
|sg = sango
|sh = serbocroata
|si = cingalés
|simple = inglés simple
|sk = eslovaco
|sl = esloveno
|sm = samoano
|sn = shona
|so = somalí
|sq = albanés
|sr = serbio
|sm = sranan
|ss = suazi
|st = sesotho
|stq = frisón del Saterland
|su = sondanés
|sv = sueco
|sw = suajili
|szl = silesiano
|ta = tamil
|te = telugú
|teh = tehuelche
|tet = tetun
|tg = tayiko
|th = tailandés
|ti = tigriña
|tk = turcomano
|tl = tagalo
|tli = tlingit
|tn = setsuana
|to = tongano
|tpi = tok pisin
|tr = turco
|ts = tsonga
|tt = tártaro
|tum = tumbuka
|tw = twi
|ty = tahitiano
|udm = udmurto
|ug = uigur
|uga = ugarítico
|uk = ucraniano
|ur = urdu
|uz = uzbeko
|val = valenciano
|ve = venda
|vec = véneto
|vep = vepsio
|vi = vietnamita
|vls = flamenco occidental
|vo = volapük
|wa = valón
|war = samareño
|wo = wólof
|wuu = chino wu
|xal = calmuco
|xh = xhosa
|xmf = megreliano
|yag = yagán
|yi = yidis
|yo = yoruba
|yua = maya yucateco
|za = chuang
|zea = zelandés
|zh = chino
|zh-classical = chino clásico
|zh-min-nan = min nan
|zh-yue = cantonés
|zu = zulú
|#default = <span class="error" style="font-size:90%">Idioma no definido en la plantilla {{ep|obtener idioma}}.</span>
}}</includeonly><noinclude>{{documentación}}</noinclude>
a6aae0194bd7e5292e5c8a0d60370d5a93f7d0fb
Plantilla:Bandera icono
10
67
132
2023-02-28T20:32:01Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Bandera icono]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 24, en 297596 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<span class="flagicon">[[Archivo:{{#if:{{{variante|}}}|{{{bandera alias-{{{variante}}}}}}|{{{bandera alias}}}}}|{{#if:{{{tamaño|}}}|{{{tamaño}}}|20x20px}}|{{#switch:{{{alias|}}}|Nepal= |Ohio= |border{{!}}}}{{{alt|Bandera de {{{alias}}}}}}]]</span><noinclude>{{documentación}}</noinclude>
da31786f0bf3e2036b4a8bf61db5cc30452143ca
Plantilla:Y-e
10
41
80
2023-02-28T20:32:36Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Y-e]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 38, en 223714 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{{#switch: {{{e}}}
|si|sí = e
|no = y
|#default= {{#switch: {{padleft:|1| {{lc:{{{1|}}}}} }}
| =
|[ = Esta plantilla no acepta corchetes de enlace en el primer parámetro. Para enlazar el resultado agrega la palabra «enlazar» como segundo parámetro.
|í = e
|i = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|ia|ie|io|iá|ié|ió|i' = y
|ib = {{#switch: {{padleft:|5| {{lcfirst:{{{1|}}}}} }}
|iBook = y
|#default= e
}}
|im = {{#switch: {{padleft:|4| {{lcfirst:{{{1|}}}}} }}
|iMac = y
|#default= e
}}
|ip = {{#switch: {{padleft:|4| {{lcfirst:{{{1|}}}}} }}
|iPad|iPaq|iPed|iPho|iPod = y
|#default= e
}}
|it = {{#switch: {{padleft:|5| {{lcfirst:{{{1|}}}}} }}
|iTune = y
|#default= e
}}
|ic = {{#switch: {{padleft:|6| {{lcfirst:{{{1|}}}}} }}
|iCarly = y
|#default= e
}}
|i = {{#switch: {{padleft:|5| {{lc:{{{1|}}}}} }}
|i am|i am.|i beg|i bel|i bet|i cal|i can|i clo|i cou|i did|i do |i don|i dre|i dri|i fee|i fou|i get|i got|i had|i hat|i hav|i jus|i kee|i kil|i kis|i kne|i kno|i lik|i liv|i loo|i lov|i me |i mig|i mis|i nee|i nev|i now|i pho|i put|i rem|i rob|i saw|i say|i see|i set|i sho|i sta|i sti|i swe|i thi|i tho|i tur|i wal|i wan|i was|i wil|i wis|i won|i wou|i wri = y
|#default= e
}}
|#default= e
}}
|h = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|hí = e
|hi = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|hia|hie|hio|hiá|hié|hió = y
|hi |hi-|hi!|hi1|hi2|hi3|hi4|hi5|hi6|hi7|hi8|hi9|hi0 = y
|hig = {{#switch: {{padleft:|4| {{lc:{{{1|}}}}} }}
|high = y
|#default= e
}}
|#default= e
}}
|#default= y
}}
|y = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|ya|yá|ye|yé|yi|yí|yo|yó|yu|yú|y = y
|#default= e
}}
|e = {{#switch: {{padleft:|4| {{lcfirst:{{{1|}}}}} }}
|each|eagl|east|easy|eat
|eBay|eBir|eBoo|eBud|eCal|eCol|eCom|eDre|eDev|eDon|eGam|eLin
|eMac|eMed|eMov|eMul|ePub
|e-bo|e-co|e-go|e-ma|e-mo = e
|#default= y
}}
|¡|¿ = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|¡í|¿í = e
|¡i|¿i = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|¡ia|¡ie|¡io|¡iá|¡ié|¡ió
|¿ia|¿ie|¿io|¿iá|¿ié|¿ió = y
|#default= e
}}
|¡h|¿h = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|¡hí|¿hí = e
|¡hi|¿hi = {{#switch: {{padleft:|4| {{lc:{{{1|}}}}} }}
|¡hia|¡hie|¡hio|¡hiá|¡hié|¡hió
|¿hia|¿hie|¿hio|¿hiá|¿hié|¿hió = y
|#default= e
}}
|#default= y
}}
|¡y|¿y = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|¡ya|¡yá|¡ye|¡yé|¡yi|¡yí|¡yo|¡yó|¡yu|¡yú|¡y
|¿ya|¿yá|¿ye|¿yé|¿yi|¿yí|¿yo|¿yó|¿yu|¿yú|¿y = y
|#default= e
}}
|#default= y
}}
|#default= y
}} }}{{#switch:{{{2|}}}|st|sin texto = | {{{pre|}}}{{#if:{{{enlace|}}}|[[{{{enlace}}}|{{{1}}}]]|{{#switch:{{{2|}}}|enlazar|enlazado|enlace=[[{{{1|}}}]]|{{{1|}}}}}}}{{{post|}}}}}<noinclude>
{{documentación}}
</noinclude>
37ca9f7ea5879d28b3405e1e535b0c3d022e854d
Plantilla:En idioma
10
64
126
2023-02-28T20:32:54Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:En idioma]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 45, en 204277 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<span style="color:#555;">{{#if: {{{1|}}}
| (en {{{2|{{#iferror: {{Obtener idioma|{{{1}}}}} | {{{1}}} | {{Obtener idioma|{{{1}}}}} }}}}})
| <span style="font-size:90%;" class="error">Especifica al menos un idioma.</span>
}}</span><noinclude>
{{documentación}}
</noinclude>
cca774ea59d09506c2f96c62ccb0fcbfb6222d02
Plantilla:AP
10
79
156
2023-02-28T20:33:01Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:AP]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 48, en 175596 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<div class="noprint AP rellink"><!--
-->{{#ifeq: {{NAMESPACE}} | {{ns:14}}
| <span style="font-size:88%">{{#if: {{{2|}}} | Los artículos principales de esta categoría son | El artículo principal de esta categoría es }}: </span><!--
-->{{#ifeq: {{NAMESPACE:{{{1}}}}} | {{ns:14}} | {{#if:{{{2|}}}|| ''(<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)''}} | [[{{{1|{{PAGENAME}}}}} |{{ucfirst:{{{l1|{{{1|{{PAGENAME}}}}}}}}}}]] }}<!--
-->{{#ifeq: {{NAMESPACE:{{{2}}}}} | {{ns:14}} | | {{#if: {{{2|}}} | {{#ifeq: {{NAMESPACE:{{{1}}}}} | {{ns:14}} | | <span style="font-size:88%">{{#if:{{{3|}}}|{{#ifeq:{{NAMESPACE:{{{3}}}}}|{{ns:14}}| {{y-e|{{PAGENAME:{{{2}}}}}|sin texto}} |, }}| {{y-e|{{PAGENAME:{{{2}}}}}|sin texto}} }}</span>}}''[[{{{2}}} |{{ucfirst:{{{l2|{{{2}}}}}}}}]]'' }} }}<!--
-->{{#ifeq: {{NAMESPACE:{{{3}}}}} | {{ns:14}} | | {{#if: {{{3|}}} | <span style="font-size:88%">{{#if:{{{4|}}}|{{#ifeq:{{NAMESPACE:{{{4}}}}}|{{ns:14}}| {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} |, }}| {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} }}</span>''[[{{{3}}} | {{ucfirst:{{{l3|{{{3}}}}}}}}]]'' }} }}<!--
-->{{#ifeq: {{NAMESPACE:{{{4}}}}} | {{ns:14}} | | {{#if: {{{4|}}} | <span style="font-size:88%">{{#if:{{{5|}}}|{{#ifeq:{{NAMESPACE:{{{4}}}}}|{{ns:14}}| {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} |, }}| {{y-e|{{PAGENAME:{{{4}}}}}|sin texto}} }}</span>''[[{{{4}}} | {{ucfirst:{{{l4|{{{4}}}}}}}}]]'' }} }}<!--
-->{{#ifeq: {{NAMESPACE:{{{5}}}}} | {{ns:14}} | | {{#if: {{{5|}}} | <span style="font-size:88%"> {{y-e|{{PAGENAME:{{{5}}}}}|sin texto}}</span>''[[{{{5}}} | {{ucfirst:{{{l5|{{{5}}}}}}}}]]'' }} }}<!--
-->{{#if:{{{6|}}} | ''(<span class="error" style="font-size:90%">demasiados parámetros en {{[[Plantilla:AP|AP]]}}</span>)''
[[Categoría:Wikipedia:Plantilla AP con demasiados parámetros]]
}}.
| <span style="font-size:88%">{{#if: {{{2|}}}
| <!--
-->{{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{2|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{3|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{4|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{5|{{ns:14}}:A}}}}} | {{ns:14}}
| Categorías principales | Categorías y artículos principales
}} | Categorías y artículos principales }} | Categorías y artículos principales }} | Categorías y artículos principales }}
| {{#ifeq: {{NAMESPACE:{{{2|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{3|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{4|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{5|{{ns:14}}:A}}}}} | {{ns:14}}
| Categorías y artículos principales | Artículos principales
}} | Artículos principales }} | Artículos principales }} | Artículos principales }}
}}:<!--
--> | {{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}} | Categoría principal | Artículo principal }}:
}}</span>  }}<!--
-->{{#ifeq: {{NAMESPACE}} | {{ns:14}} |<!-- Anula todo lo siguiente si está en el espacio Plantilla -->
| {{#ifeq: {{{1|{{PAGENAME}}}}} | {{FULLPAGENAME}} | ''(<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)''
| ''[[:{{{1|{{PAGENAME}}}}} | {{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}} | {{PAGENAME:{{{1}}}}} | {{ucfirst:{{{l1|{{{1|{{PAGENAME}}}}}}}}}} }}]]''<!--
-->{{#if: {{{2|}}} | <span style="font-size:88%">{{#if:{{{3|}}}|, | {{y-e|{{PAGENAME:{{{2}}}}}|sin texto}} }}</span>''[[:{{{2}}} | {{#ifeq: {{NAMESPACE:{{{2}}}}} | {{ns:14}} | {{PAGENAME:{{{2}}}}} | {{ucfirst:{{{l2|{{{2}}}}}}}} }}]]'' }}<!--
-->{{#if: {{{3|}}} | <span style="font-size:88%">{{#if:{{{4|}}}|, | {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} }}</span>''[[:{{{3}}} | {{#ifeq: {{NAMESPACE:{{{3}}}}} | {{ns:14}} | {{PAGENAME:{{{3}}}}} | {{ucfirst:{{{l3|{{{3}}}}}}}} }}]]'' }}<!--
-->{{#if: {{{4|}}} | <span style="font-size:88%">{{#if:{{{5|}}}|, | {{y-e|{{PAGENAME:{{{4}}}}}|sin texto}} }}</span>''[[:{{{4}}} | {{#ifeq: {{NAMESPACE:{{{4}}}}} | {{ns:14}} | {{PAGENAME:{{{4}}}}} | {{ucfirst:{{{l4|{{{4}}}}}}}} }}]]'' }}<!--
-->{{#if: {{{5|}}} | <span style="font-size:88%"> {{y-e|{{PAGENAME:{{{5}}}}}|sin texto}}</span>''[[:{{{5}}} | {{#ifeq: {{NAMESPACE:{{{5}}}}} | {{ns:14}} | {{PAGENAME:{{{5}}}}} | {{ucfirst:{{{l5|{{{5}}}}}}}} }}]]'' }}<!--
-->{{#if:{{{6|}}} |   ''(<span class="error" style="font-size:90%">demasiados parámetros en {{[[Plantilla:AP|AP]]}}</span>)''
[[Categoría:Wikipedia:Plantilla AP con demasiados parámetros]]
}}{{#if:{{{2|}}}|.}} }} }}</div><noinclude>{{documentación}}
<!-- No mover a la documentación -->
[[Categoría:Wikipedia:Excluir al imprimir]]
</noinclude>
b2cc0f9ef6ab12b875361c9f1bc6eebbd27d6c10
Plantilla:Cita noticia
10
45
88
2023-02-28T20:33:12Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Cita noticia]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 52, en 157908 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{#invoke:Citas|cita|ClaseCita=noticia}}</includeonly><noinclude>{{documentación}}</noinclude>
ce1f84e65c98f99a87c5971a0791745c9a7f53aa
Plantilla:Wayback
10
63
124
2023-02-28T20:33:34Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Wayback]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 61, en 120964 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly>{{#if: {{{nobullet|}}}||}}{{#if:{{{título|{{{titulo|{{{title|}}}}}}}}} <!--If there is a title:-->|[https://web.archive.org/web/{{{3|{{{fecha|{{{date|*}}}}}}}}}/{{{1|{{{site|{{{url}}}}}}}}} {{{2|{{{título|{{{titulo|{{{title|Copia de archivo}}}}}}}}}}}}] en [[Wayback Machine]] {{#if:{{{3|{{{fecha|{{{date|}}}}}}}}}|{{#iferror: (archivado el {{#time:j \d\e F \d\e Y|{{{3|{{{fecha|{{{date|}}}}}}}}} }})}}|<!-- date= empty -->}}|{{#if: {{{3|{{{fecha|{{{date|}}}}}}}}}|[https://web.archive.org/web/{{{3|{{{fecha|{{{date|}}}}}}}}}/{{{1|{{{site|{{{url}}}}}}}}} Archivado] el {{#time:j \d\e F \d\e Y|{{{3|{{{fecha|{{{date|}}}}}}}}}}} en [[Wayback Machine]]|[https://web.archive.org/web/{{{3|{{{fecha|{{{date|}}}}}}}}}/{{{1|{{{site|{{{url}}}}}}}}} {{{2|{{{title|{{{title|Copia de archivo}}}}}}}}}] en [[Wayback Machine]]{{#if:{{{3|{{{fecha|{{{date|}}}}}}}}}|{{#iferror: (archivada el {{#time:j \d\e F \d\e Y|{{{3|{{{fecha|{{{date|}}}}}}}}} }})}}|<!-- date= empty -->}}}}}}.</includeonly><noinclude>{{documentación}}</noinclude>
5b09c70f6d480d954743471db16983e50f9a6d13
Plantilla:En
10
70
138
2023-02-28T20:33:40Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:En]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 63, en 113266 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{{en idioma|en}}<noinclude>
[[Categoría:Wikipedia:Plantillas de lenguas de país]]
</noinclude>
70e894a39af6a419f8baafd17e4f7a50a13147ad
Plantilla:Nowrap
10
73
144
2023-02-28T20:33:52Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Nowrap]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 68, en 100122 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly><span style="white-space:nowrap">{{{1}}}</span></includeonly><noinclude>{{documentación}}</noinclude>
1ea7a6342b622df0a4759157d53c3e743b480324
Plantilla:Geodatos Argentina
10
69
136
2023-02-28T20:34:13Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Geodatos Argentina]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 76, en 76934 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
{{{{{1<noinclude>|mostrar geodatos</noinclude>}}}
|alias=Argentina
|escudo alias=Coat of arms of Argentina.svg
|bandera alias=Flag of Argentina.svg
|bandera alias-colonia=Flag of Cross of Burgundy.svg
|bandera alias-civil =Flag of Argentina (alternative).svg
|bandera alias-alt=Flag of Argentina (alternative).svg
|enlace alias-alt=Bandera alternativa
|bandera alias-belgrano=Flag of Belgrano (1812).svg
|bandera alias-1816=Flag of Argentina (alternative).svg
|bandera alias-1818=Flag of Argentina (1818).svg
|bandera alias-confederación=Flag of the Argentine Confederation.svg
|enlace alias-confederación=Confederación Argentina
|bandera alias-presidencia=Standard of the President of Argentina Afloat.svg
|enlace alias-presidencia=Presidente de Argentina
|bandera alias-guardia costera=Bandera de Prefectura Naval Argentina.svg
|enlace alias-guardia costera=Prefectura Naval Argentina
|bandera alias-gendarmería=Flag of the Argentinian Gendarmery.png
|enlace alias-gendarmería=Gendarmería Nacional Argentina
|bandera alias-naval=Naval Jack of Argentina.svg
|enlace alias-naval=Armada Argentina
|bandera alias-fuerza aérea=Flag of Argentina.svg
|enlace alias-fuerza aérea=Fuerza Aérea Argentina
|bandera alias-ejército=Flag of Argentina.svg
|enlace alias-ejército=Ejército Argentino
|bandera alias-marines=Flag of Argentina.svg
|enlace alias-marines=Infantería de Marina
|bandera alias-aviación naval=Flag of Argentina.svg
|enlace alias-aviación naval=Aviación Naval
|bandera alias-policía federal=Policía Federal Argentina.svg
|enlace alias-policía federal=Policía Federal Argentina
|escudo alias-colonia=Old Coat of arms of Lima.svg
|escudo alias-confederación=Escudo de la Confederación Argentina.png
|tamaño={{{tamaño|}}}
|nombre={{{nombre|}}}
|civil=Bandera de Argentina
|civil escudo=Escudo de Argentina
|variante={{{variante|}}}
|civillink={{{civillink|}}}
<noinclude>
|var1=colonia
|var2=civil
|var3=1816
|var4=1818
|var5=confederación
|var6=belgrano
|var7=presidencia
|var8=gendarmería
|var9=guardia costera
|var10=ejército
|e-var1=colonia
|e-var2=confederación
|redir1=ARG
|redir2=AR
</noinclude>
}}
eb4dc5a68e38dae7d0d199588acd138278b78365
Plantilla:Orden
10
75
148
2023-02-28T20:34:16Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Orden]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 77, en 76872 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<span style="display:none" class="sortkey">{{{1}}} !</span><span class="sorttext">{{{2|[[{{{1}}}]]}}}</span><noinclude>
{{documentación}}
</noinclude>
87ae8ff3f44e24cd60527ca84a2aca9f7a3dc672
Plantilla:Columnas
10
76
150
2023-02-28T20:36:28Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Columnas]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 189, en 36204 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly><div style="overflow:auto hidden;"><!-- No quitar este DIV: evita que el wikicódigo inserte un salto de línea adicional encima de esta tabla. -->
{| width="{{{1|100%}}}" border="0" cellspacing="0" cellpadding="0" style="background-color:transparent;table-layout:fixed;"
|- valign="top"
|<div style="margin-right:{{{2|20px}}};"></includeonly><noinclude>
{{documentación}}
</noinclude>
a27164a35846823680ba69f0481c2b7f63a29d68
Plantilla:Final columnas
10
78
154
2023-02-28T20:36:36Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Final columnas]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 194, en 35695 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly></div>
|}</div></includeonly><noinclude>
{{documentación|Plantilla:Columnas/doc}}
</noinclude>
6fedf7365f60c74007552fa031372190bc3261af
Plantilla:Nueva columna
10
77
152
2023-02-28T20:37:19Z
Media Wiki>Platonides
0
Cambió la configuración de protección de «[[Plantilla:Nueva columna]]»: Plantilla muy utilizada: Protegiendo contra traslados: № 221, en 32368 páginas ([Editar=Permitir solo editores de plantillas y administradores] (indefinido) [Trasladar=Permitir solo editores de plantillas y administradores] (indefinido))
wikitext
text/x-wiki
<includeonly></div>
|<div style="margin-right: {{{1|20px}}};"></includeonly>
<noinclude>
{{documentación|Plantilla:Columnas/doc}}
</noinclude>
66f1e6cfa78c3119176dc5daf5bc8b26fbb5de81
Módulo:Citas
828
50
98
2023-04-26T15:16:55Z
Media Wiki>-sasha-
0
Pequeño arreglo para solucionar casi todos los errores que se dan en [[Categoría:Wikipedia:Páginas con PMC incorrectos]].
Scribunto
text/plain
local z = {
error_categories = {};
error_ids = {};
message_tail = {};
}
-- Include translation message hooks, ID and error handling configuration settings.
--local cfg = mw.loadData( 'Mdódulo:Citas/Configuración/pruebas' );
-- Contains a list of all recognized parameters
--local whitelist = mw.loadData( 'Módulo:Citas/Whitelist/pruebas' );
--local dates = require('Módulo:Citas/ValidaciónFechas/pruebas').dates -- location of date validation code
--Módulo para formatear las fechas
local DateModule = require('Módulo:Date')._Date
-- Whether variable is set or not
function is_set( var )
return not (var == nil or var == '');
end
-- First set variable or nil if none
function first_set(...)
local list = {...};
for _, var in pairs(list) do
if is_set( var ) then
return var;
end
end
end
-- Whether needle is in haystack
function inArray( needle, haystack )
if needle == nil then
return false;
end
for n,v in ipairs( haystack ) do
if v == needle then
return n;
end
end
return false;
end
--[[
Formatea una fecha para que se devuelva de la siguiente forma: "1 de enero de 2020"
Formats a date so it is returned as follows: "1 de enero de 2020"
]]
function format_date(date_string)
function dateFormatter(text)
return DateModule(text):text('%-d de %B de %-Y')
end
local stat, res = pcall(dateFormatter, date_string)
if stat then
return res
else
return date_string
end
end
--[[
Categorize and emit an error message when the citation contains one or more deprecated parameters. Because deprecated parameters (currently |day=, |month=,
|coauthor=, and |coauthors=) aren't related to each other and because these parameters may be concatenated into the variables used by |date= and |author#= (and aliases)
details of which parameter caused the error message are not provided. Only one error message is emitted regarless of the number of deprecated parameters in the citation.
]]
function deprecated_parameter( name )
-- table.insert( z.message_tail, { seterror( 'deprecated_params', {error_message}, true ) } ); -- add error message
table.insert( z.message_tail, { seterror( 'deprecated_params', { name }, true ) } ); -- add error message
end
-- Populates numbered arguments in a message string using an argument table.
function substitute( msg, args )
-- return args and tostring( mw.message.newRawMessage( msg, args ) ) or msg;
return args and mw.message.newRawMessage( msg, args ):plain() or msg;
end
--[[
Apply kerning to open the space between the quote mark provided by the Module and a leading or trailing quote mark contained in a |title= or |chapter= parameter's value.
This function will positive kern either single or double quotes:
"'Unkerned title with leading and trailing single quote marks'"
" 'Kerned title with leading and trailing single quote marks' " (in real life the kerning isn't as wide as this example)
]]
function kern_quotes (str)
local left='<span style="padding-left:0.2em;">%1</span>'; -- spacing to use when title contains leading single or double quote mark
local right='<span style="padding-right:0.2em;">%1</span>'; -- spacing to use when title contains trailing single or double quote mark
if str:match ("^[\"\'][^\']") then
str = string.gsub( str, "^[\"\']", left, 1 ); -- replace (captured) leading single or double quote with left-side <span>
end
if str:match ("[^\'][\"\']$") then
str = string.gsub( str, "[\"\']$", right, 1 ); -- replace (captured) trailing single or double quote with right-side <span>
end
return str;
end
-- Wraps a string using a message_list configuration taking one argument
function wrap( key, str, lower )
if not is_set( str ) then
return "";
elseif inArray( key, { 'italic-title', 'trans-italic-title' } ) then
str = safeforitalics( str );
end
if lower == true then
return substitute( cfg.messages[key]:lower(), {str} );
else
return substitute( cfg.messages[key], {str} );
end
end
--[[
Argument wrapper. This function provides support for argument
mapping defined in the configuration file so that multiple names
can be transparently aliased to single internal variable.
]]
function argument_wrapper( args )
local origin = {};
return setmetatable({
ORIGIN = function( self, k )
local dummy = self[k]; --force the variable to be loaded.
return origin[k];
end
},
{
__index = function ( tbl, k )
if origin[k] ~= nil then
return nil;
end
local args, list, v = args, cfg.aliases[k];
if type( list ) == 'table' then
v, origin[k] = selectone( args, list, 'redundant_parameters' );
if origin[k] == nil then
origin[k] = ''; -- Empty string, not nil
end
elseif list ~= nil then
v, origin[k] = args[list], list;
else
-- maybe let through instead of raising an error?
-- v, origin[k] = args[k], k;
error( cfg.messages['unknown_argument_map'] );
end
-- Empty strings, not nil;
if v == nil then
v = cfg.defaults[k] or '';
origin[k] = '';
end
tbl = rawset( tbl, k, v );
return v;
end,
});
end
--[[
Looks for a parameter's name in the whitelist.
Parameters in the whitelist can have three values:
true - active, supported parameters
false - deprecated, supported parameters
nil - unsupported parameters
]]
function validate( name )
local name = tostring( name );
local state = whitelist.basic_arguments[ name ];
-- Normal arguments
if true == state then return true; end -- valid actively supported parameter
if false == state then
deprecated_parameter ( name ); -- parameter is deprecated but still supported
return true;
end
-- Arguments with numbers in them
name = name:gsub( "%d+", "#" ); -- replace digit(s) with # (last25 becomes last#
state = whitelist.numbered_arguments[ name ];
if true == state then return true; end -- valid actively supported parameter
if false == state then
deprecated_parameter ( name ); -- parameter is deprecated but still supported
return true;
end
return false; -- Not supported because not found or name is set to nil
end
-- Formats a comment for error trapping
function errorcomment( content, hidden )
return wrap( hidden and 'hidden-error' or 'visible-error', content );
end
--[[
Sets an error condition and returns the appropriate error message. The actual placement
of the error message in the output is the responsibility of the calling function.
]]
function seterror( error_id, arguments, raw, prefix, suffix )
local error_state = cfg.error_conditions[ error_id ];
prefix = prefix or "";
suffix = suffix or "";
if error_state == nil then
error( cfg.messages['undefined_error'] );
elseif is_set( error_state.category ) then
table.insert( z.error_categories, error_state.category );
end
local message = substitute( error_state.message, arguments );
message = message .. " ([[" .. cfg.messages['help page link'] ..
"#" .. error_state.anchor .. "|" ..
cfg.messages['help page label'] .. "]])";
z.error_ids[ error_id ] = true;
if inArray( error_id, { 'bare_url_missing_title', 'trans_missing_title' } )
and z.error_ids['citation_missing_title'] then
return '', false;
end
message = table.concat({ prefix, message, suffix });
if raw == true then
return message, error_state.hidden;
end
return errorcomment( message, error_state.hidden );
end
-- Formats a wiki style external link
function externallinkid(options)
local url_string = options.id;
if options.encode == true or options.encode == nil then
url_string = mw.uri.encode( url_string );
end
return wrap( 'id', internallink(options.link, options.label) ..
(options.separator or " ") .. mw.ustring.format( '[%s%s%s %s]',
options.prefix, url_string, options.suffix or "",
mw.text.nowiki(options.id)
));
end
-- Formats a wiki style internal link
function internallinkid(options)
return wrap( 'id', internallink(options.link, options.label) ..
(options.separator or " ") .. mw.ustring.format( '[[%s%s%s|%s]]',
options.prefix, options.id, options.suffix or "",
mw.text.nowiki(options.id)
));
end
-- Format an internal link, if link is really set
function internallink( link, label )
if link and link ~= '' then
return mw.ustring.format( '[[%s|%s]]', link, label )
else
return label
end
end
-- Format an external link with error checking
function externallink( URL, label, source )
local error_str = "";
if not is_set( label ) then
label = URL;
if is_set( source ) then
error_str = seterror( 'bare_url_missing_title', { wrap( 'parameter', source ) }, false, " " );
else
error( cfg.messages["bare_url_no_origin"] );
end
end
if not checkurl( URL ) then
error_str = seterror( 'bad_url', {}, false, " " ) .. error_str;
elseif mw.title.getCurrentTitle():inNamespaces(0, 100, 104) and
not mw.title.getCurrentTitle().text:match('Wikipedia') and
URL:match('//[%a%.%-]+%.wikipedia%.org') then
error_str = seterror( 'bad_url_autorreferencia', {}, false, " " ) .. error_str;
end
return table.concat({ "[", URL, " ", safeforurl( label ), "]", error_str });
end
--[[--------------------------< N O R M A L I Z E _ L C C N >--------------------------------------------------
lccn normalization (http://www.loc.gov/marc/lccn-namespace.html#normalization)
1. Remove all blanks.
2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash.
3. If there is a hyphen in the string:
a. Remove it.
b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out):
1. All these characters should be digits, and there should be six or less. (not done in this function)
2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six.
Returns a normalized lccn for lccn() to validate. There is no error checking (step 3.b.1) performed in this function.
]]
local function normalize_lccn (lccn)
lccn = lccn:gsub ("%s", ""); -- 1. strip whitespace
if nil ~= string.find (lccn,'/') then
lccn = lccn:match ("(.-)/"); -- 2. remove forward slash and all character to the right of it
end
local prefix
local suffix
prefix, suffix = lccn:match ("(.+)%-(.+)"); -- 3.a remove hyphen by splitting the string into prefix and suffix
if nil ~= suffix then -- if there was a hyphen
suffix=string.rep("0", 6-string.len (suffix)) .. suffix; -- 3.b.2 left fill the suffix with 0s if suffix length less than 6
lccn=prefix..suffix; -- reassemble the lccn
end
return lccn;
end
--[[
Format LCCN link and do simple error checking. LCCN is a character string 8-12 characters long. The length of the LCCN dictates the character type of the first 1-3 characters; the
rightmost eight are always digits. http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:lccn/
length = 8 then all digits
length = 9 then lccn[1] is alpha
length = 10 then lccn[1] and lccn[2] are both alpha or both digits
length = 11 then lccn[1] is alpha, lccn[2] and lccn[3] are both alpha or both digits
length = 12 then lccn[1] and lccn[2] are both alpha
]]
function lccn(id)
local handler = cfg.id_handlers['LCCN'];
local err_cat = ''; -- presume that LCCN is valid
id = normalize_lccn (id);
local len = id:len(); -- get the length of the lccn
if 8 == len then
if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits)
err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message
end
elseif 9 == len then -- LCCN should be adddddddd
if nil == id:match("%a%d%d%d%d%d%d%d%d") then -- does it match our pattern?
err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message
end
elseif 10 == len then -- LCCN should be aadddddddd or dddddddddd
if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) ...
if nil == id:match("^%a%a%d%d%d%d%d%d%d%d") then -- ... see if it matches our pattern
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message
end
end
elseif 11 == len then -- LCCN should be aaadddddddd or adddddddddd
if not (id:match("^%a%a%a%d%d%d%d%d%d%d%d") or id:match("^%a%d%d%d%d%d%d%d%d%d%d")) then -- see if it matches one of our patterns
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message
end
elseif 12 == len then -- LCCN should be aadddddddddd
if not id:match("^%a%a%d%d%d%d%d%d%d%d%d%d") then -- see if it matches our pattern
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message
end
else
err_cat = ' ' .. seterror( 'bad_lccn' ); -- wrong length, set an error message
end
return externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;
end
--[[
Format PMID and do simple error checking. PMIDs are sequential numbers beginning at 1 and counting up. This code checks the PMID to see that it
contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMIDs are issued.
]]
function pmid(id)
local test_limit = 45000000; -- update this value as PMIDs approach
local handler = cfg.id_handlers['PMID'];
local err_cat = ''; -- presume that PMID is valid
if id:match("[^%d]") then -- if PMID has anything but digits
err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message
else -- PMID is only digits
local id_num = tonumber(id); -- convert id to a number for range testing
if 1 > id_num or test_limit < id_num then -- if PMID is outside test limit boundaries
err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message
end
end
return externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;
end
--[[
Determines if a PMC identifier's online version is embargoed. Compares the date in |embargo= against today's date. If embargo date is
in the future, returns true; otherwse, returns false because the embargo has expired or |embargo= not set in this cite.
]]
function is_embargoed(embargo)
if is_set(embargo) then
local lang = mw.getContentLanguage();
local good1, embargo_date, good2, todays_date;
good1, embargo_date = pcall( lang.formatDate, lang, 'U', embargo );
good2, todays_date = pcall( lang.formatDate, lang, 'U' );
if good1 and good2 and tonumber( embargo_date ) >= tonumber( todays_date ) then --is embargo date is in the future?
return true; -- still embargoed
end
end
return false; -- embargo expired or |embargo= not set
end
--[[
Format a PMC, do simple error checking, and check for embargoed articles.
The embargo parameter takes a date for a value. If the embargo date is in the future
the PMC identifier will not be linked to the article. If the embargo specifies a date in the past, or if it is empty or omitted, then
the PMC identifier is linked to the article through the link at cfg.id_handlers['PMC'].prefix.
PMCs are sequential numbers beginning at 1 and counting up. This code checks the PMC to see that it contains only digits and is less
than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued.
]]
function pmc(id, embargo)
local test_limit = 12000000; -- update this value as PMCs approach
local handler = cfg.id_handlers['PMC'];
local err_cat = ''; -- presume that PMC is valid
local text;
if id:match("^PMC%d") then
id = id:sub(4, j) -- remove 'PMC' preffix if given
end
if id:match("[^%d]") then -- if PMC has anything but digits
err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message
else -- PMC is only digits
local id_num = tonumber(id); -- convert id to a number for range testing
if 1 > id_num or test_limit < id_num then -- if PMC is outside test limit boundaries
err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message
end
end
if is_embargoed(embargo) then
text="[[" .. handler.link .. "|" .. handler.label .. "]]:" .. handler.separator .. id .. err_cat; --still embargoed so no external link
else
text = externallinkid({link = handler.link, label = handler.label, --no embargo date, ok to link to article
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;
end
return text;
end
-- Formats a DOI and checks for DOI errors.
-- DOI names contain two parts: prefix and suffix separated by a forward slash.
-- Prefix: directory indicator '10.' followed by a registrant code
-- Suffix: character string of any length chosen by the registrant
-- This function checks a DOI name for: prefix/suffix. If the doi name contains spaces or endashes,
-- or, if it ends with a period or a comma, this function will emit a bad_doi error message.
-- DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash,
-- and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in doi names.
function doi(id, inactive)
local cat = ""
local handler = cfg.id_handlers['DOI'];
local text;
if is_set(inactive) then
local inactive_year = inactive:match("%d%d%d%d") or ''; -- try to get the year portion from the inactive date
text = "[[" .. handler.link .. "|" .. handler.label .. "]]:" .. id;
if is_set(inactive_year) then
table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos desde " .. inactive_year );
else
table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos" ); -- when inactive doesn't contain a recognizable year
end
inactive = " (" .. cfg.messages['inactive'] .. " " .. inactive .. ")"
else
text = externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode})
inactive = ""
end
if nil == id:match("^10%.[^%s–]-/[^%s–]-[^%.,]$") then -- doi must begin with '10.', must contain a fwd slash, must not contain spaces or endashes, and must not end with period or comma
cat = ' ' .. seterror( 'bad_doi' );
end
return text .. inactive .. cat
end
-- Formats an OpenLibrary link, and checks for associated errors.
function openlibrary(id)
local code = id:sub(-1,-1)
local handler = cfg.id_handlers['OL'];
if ( code == "A" ) then
return externallinkid({link=handler.link, label=handler.label,
prefix="http://openlibrary.org/authors/OL",id=id, separator=handler.separator,
encode = handler.encode})
elseif ( code == "M" ) then
return externallinkid({link=handler.link, label=handler.label,
prefix="http://openlibrary.org/books/OL",id=id, separator=handler.separator,
encode = handler.encode})
elseif ( code == "W" ) then
return externallinkid({link=handler.link, label=handler.label,
prefix= "http://openlibrary.org/works/OL",id=id, separator=handler.separator,
encode = handler.encode})
else
return externallinkid({link=handler.link, label=handler.label,
prefix= "http://openlibrary.org/OL",id=id, separator=handler.separator,
encode = handler.encode}) ..
' ' .. seterror( 'bad_ol' );
end
end
--[[
Validate and format an issn. This code fixes the case where an editor has included an ISSN in the citation but has separated the two groups of four
digits with a space. When that condition occurred, the resulting link looked like this:
|issn=0819 4327 gives: [http://www.worldcat.org/issn/0819 4327 0819 4327] -- can't have spaces in an external link
This code now prevents that by inserting a hyphen at the issn midpoint. It also validates the issn for length and makes sure that the checkdigit agrees
with the calculated value. Incorrect length (8 digits), characters other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check issn
error message. The issn is always displayed with a hyphen, even if the issn was given as a single group of 8 digits.
]]
function issn(id)
local ModuloIdentificadores = require('Módulo:Identificadores')
local issn_copy = id; -- save a copy of unadulterated issn; use this version for display if issn does not validate
local handler = cfg.id_handlers['ISSN'];
local text;
local valid_issn = true;
id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and ndashes from the issn
if 8 ~= id:len() or nil == id:match( "^%d*X?$" ) then -- validate the issn: 8 didgits long, containing only 0-9 or X in the last position
valid_issn=false; -- wrong length or improper character
else
valid_issn=ModuloIdentificadores.esValidoISXN(id, 8); -- validate issn
end
if true == valid_issn then
id = string.sub( id, 1, 4 ) .. "-" .. string.sub( id, 5 ); -- if valid, display correctly formatted version
else
id = issn_copy; -- if not valid, use the show the invalid issn with error message
end
text = externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode})
if false == valid_issn then
text = text .. ' ' .. seterror( 'bad_issn' ) -- add an error message if the issn is invalid
end
return text
end
--[[
This function sets default title types (equivalent to the citation including |type=<default value>) for those citations that have defaults.
Also handles the special case where it is desireable to omit the title type from the rendered citation (|type=none).
]]
function set_titletype(cite_class, title_type)
if is_set(title_type) then
if "none" == title_type then
title_type = ""; -- if |type=none then type parameter not displayed
end
return title_type; -- if |type= has been set to any other value use that value
end
-- if "AV media notes" == cite_class or "DVD notes" == cite_class then -- if this citation is cite AV media notes or cite DVD notes
if "notas audiovisual" == cite_class or "notas de DVD" == cite_class then -- if this citation is cite AV media notes or cite DVD notes
return "Media notes"; -- display AV media notes / DVD media notes annotation -- Falta traducir
elseif "podcast" == cite_class then -- if this citation is cite podcast
return "Podcast"; -- display podcast annotation
elseif "pressrelease" == cite_class then -- if this citation is cite press release
return "Press release"; -- display press release annotation
elseif "techreport" == cite_class then -- if this citation is cite techreport
return "Technical report"; -- display techreport annotation
elseif "tesis" == cite_class then -- if this citation is cite thesis (degree option handled after this function returns)
return "Tesis"; -- display simple thesis annotation (without |degree= modification)
end
end
--[[
Determines whether a URL string is valid
At present the only check is whether the string appears to
be prefixed with a URI scheme. It is not determined whether
the URI scheme is valid or whether the URL is otherwise well
formed.
]]
function checkurl( url_str )
-- Protocol-relative or URL scheme
return url_str:sub(1,2) == "//" or url_str:match( "^[^/]*:" ) ~= nil;
end
-- Removes irrelevant text and dashes from ISBN number
-- Similar to that used for Special:BookSources
function cleanisbn( isbn_str )
return isbn_str:gsub( "[^-0-9X]", "" );
end
-- Extract page numbers from external wikilinks in any of the |page=, |pages=, or |at= parameters for use in COinS.
function get_coins_pages (pages)
if not is_set (pages) then return pages; end -- if no page numbers then we're done
while true do
pattern = pages:match("%[([%w/:\.]+%s+)[%w%d].*%]"); -- pattern is the opening bracket, the url and following space(s): "[url "
if nil == pattern then break; end -- no more urls
pages = pages:gsub(pattern, ""); -- remove as many instances of pattern as possible
end
pages = pages:gsub("[%[%]]", ""); -- remove the brackets
pages = pages:gsub("–", "-" ); -- replace endashes with hyphens
pages = pages:gsub("&%w+;", "-" ); -- and replace html entities (– etc) with hyphens; do we need to replace numerical entities like   and the like?
return pages;
end
-- Gets the display text for a wikilink like [[A|B]] or [[B]] gives B
function removewikilink( str )
return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l)
return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1");
end));
end
-- Escape sequences for content that will be used for URL descriptions
function safeforurl( str )
if str:match( "%[%[.-%]%]" ) ~= nil then
table.insert( z.message_tail, { seterror( 'wikilink_in_url', {}, true ) } );
end
return str:gsub( '[%[%]\n]', {
['['] = '[',
[']'] = ']',
['\n'] = ' ' } );
end
-- Convierte un guión largo (signo de negativo) en un guión corto.
function dashtohyphen( str )
if not is_set(str) or str:match( "[%[%]{}<>]" ) ~= nil then
return str;
end
return str:gsub( '–', '-' );
end
-- Protects a string that will be wrapped in wiki italic markup '' ... ''
function safeforitalics( str )
--[[ Note: We can not use <i> for italics, as the expected behavior for
italics specified by ''...'' in the title is that they will be inverted
(i.e. unitalicized) in the resulting references. In addition, <i> and ''
tend to interact poorly under Mediawiki's HTML tidy. ]]
if not is_set(str) then
return str;
else
if str:sub(1,1) == "'" then str = "<span></span>" .. str; end
if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end
-- Remove newlines as they break italics.
return str:gsub( '\n', ' ' );
end
end
--[[
Joins a sequence of strings together while checking for duplicate separation
characters.
]]
function safejoin( tbl, duplicate_char )
--[[
Note: we use string functions here, rather than ustring functions.
This has considerably faster performance and should work correctly as
long as the duplicate_char is strict ASCII. The strings
in tbl may be ASCII or UTF8.
]]
local str = '';
local comp = '';
local end_chr = '';
local trim;
for _, value in ipairs( tbl ) do
if value == nil then value = ''; end
if str == '' then
str = value;
elseif value ~= '' then
if value:sub(1,1) == '<' then
-- Special case of values enclosed in spans and other markup.
comp = value:gsub( "%b<>", "" );
else
comp = value;
end
if comp:sub(1,1) == duplicate_char then
trim = false;
end_chr = str:sub(-1,-1);
-- str = str .. "<HERE(enchr=" .. end_chr.. ")"
if end_chr == duplicate_char then
str = str:sub(1,-2);
elseif end_chr == "'" then
if str:sub(-3,-1) == duplicate_char .. "''" then
str = str:sub(1, -4) .. "''";
elseif str:sub(-5,-1) == duplicate_char .. "]]''" then
trim = true;
elseif str:sub(-4,-1) == duplicate_char .. "]''" then
trim = true;
end
elseif end_chr == "]" then
if str:sub(-3,-1) == duplicate_char .. "]]" then
trim = true;
elseif str:sub(-2,-1) == duplicate_char .. "]" then
trim = true;
end
elseif end_chr == " " then
if str:sub(-2,-1) == duplicate_char .. " " then
str = str:sub(1,-3);
end
end
if trim then
if value ~= comp then
local dup2 = duplicate_char;
if dup2:match( "%A" ) then dup2 = "%" .. dup2; end
value = value:gsub( "(%b<>)" .. dup2, "%1", 1 )
else
value = value:sub( 2, -1 );
end
end
end
str = str .. value;
end
end
return str;
end
-- Attempts to convert names to initials.
function reducetoinitials(first)
local initials = {}
for word in string.gmatch(first, "%S+") do
table.insert(initials, string.sub(word,1,1)) -- Vancouver format does not include full stops.
end
return table.concat(initials) -- Vancouver format does not include spaces.
end
-- Formats a list of people (e.g. authors / editors)
function listpeople(control, people)
local sep = control.sep;
local namesep = control.namesep
local format = control.format
local maximum = control.maximum
local lastauthoramp = control.lastauthoramp;
local text = {}
local etal = false;
if sep:sub(-1,-1) ~= " " then sep = sep .. " " end
if maximum ~= nil and maximum < 1 then return "", 0; end
for i,person in ipairs(people) do
if is_set(person.last) then
local mask = person.mask
local one
local sep_one = sep;
if maximum ~= nil and i > maximum then
etal = true;
break;
elseif (mask ~= nil) then
local n = tonumber(mask)
if (n ~= nil) then
one = string.rep("—",n)
else
one = mask;
sep_one = " ";
end
else
one = person.last
local first = person.first
if is_set(first) then
if ( "vanc" == format ) then first = reducetoinitials(first) end
one = one .. namesep .. first
end
if is_set(person.link) then one = "[[" .. person.link .. "|" .. one .. "]]" end
if is_set(person.link) and nil ~= person.link:find("//") then one = one .. " " .. seterror( 'bad_authorlink' ) end -- check for url in author link;
end
table.insert( text, one )
table.insert( text, sep_one )
end
end
local count = #text / 2;
if count > 0 then
if count > 1 and is_set(lastauthoramp) and not etal then
text[#text-2] = " & ";
end
text[#text] = nil;
end
local result = table.concat(text) -- construct list
if etal then
local etal_text = cfg.messages['et al'];
result = result .. " " .. etal_text;
end
-- if necessary wrap result in <span> tag to format in Small Caps
if ( "scap" == format ) then result =
'<span class="smallcaps" style="font-variant:small-caps">' .. result .. '</span>';
end
return result, count
end
-- Generates a CITEREF anchor ID.
function anchorid( options )
return "CITAREF" .. table.concat( options ); --return "CITEREF" .. table.concat( options );
end
-- Gets name list from the input arguments
function extractnames(args, list_name)
local names = {};
local i = 1;
local last;
while true do
last = selectone( args, cfg.aliases[list_name .. '-Last'], 'redundant_parameters', i );
if not is_set(last) then
-- just in case someone passed in an empty parameter
break;
end
names[i] = {
last = last,
first = selectone( args, cfg.aliases[list_name .. '-First'], 'redundant_parameters', i ),
link = selectone( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ),
mask = selectone( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i )
};
i = i + 1;
end
return names;
end
-- Populates ID table from arguments using configuration settings
function extractids( args )
local id_list = {};
for k, v in pairs( cfg.id_handlers ) do
v = selectone( args, v.parameters, 'redundant_parameters' );
if is_set(v) then id_list[k] = v; end
end
return id_list;
end
-- Takes a table of IDs and turns it into a table of formatted ID outputs.
function buildidlist( id_list, options )
local new_list, handler = {};
function fallback(k) return { __index = function(t,i) return cfg.id_handlers[k][i] end } end;
for k, v in pairs( id_list ) do
-- fallback to read-only cfg
handler = setmetatable( { ['id'] = v }, fallback(k) );
if handler.mode == 'external' then
table.insert( new_list, {handler.label, externallinkid( handler ) } );
elseif handler.mode == 'internal' then
table.insert( new_list, {handler.label, internallinkid( handler ) } );
elseif handler.mode ~= 'manual' then
error( cfg.messages['unknown_ID_mode'] );
elseif k == 'DOI' then
table.insert( new_list, {handler.label, doi( v, options.DoiBroken ) } );
elseif k == 'LCCN' then
table.insert( new_list, {handler.label, lccn( v ) } );
elseif k == 'OL' then
table.insert( new_list, {handler.label, openlibrary( v ) } );
elseif k == 'PMC' then
table.insert( new_list, {handler.label, pmc( v, options.Embargo ) } );
elseif k == 'PMID' then
table.insert( new_list, {handler.label, pmid( v ) } );
elseif k == 'ISSN' then
table.insert( new_list, {handler.label, issn( v:upper() ) } );
elseif k == 'ISBN' then
--local ISBN = internallinkid( handler );
--if not checkisbn( v ) and not is_set(options.IgnoreISBN) then
-- ISBN = ISBN .. seterror( 'bad_isbn', {}, false, " ", "" );
--end
local ISBN
if options.ISBNCorrecto or options.ISBNSugerido or is_set(options.IgnoreISBN) then
ISBN = internallinkid( handler );
else -- ISBN incorrecto.
ISBN = internallinkid( handler ) .. seterror( 'bad_isbn', {}, false, " ", "" );
end
table.insert( new_list, {handler.label, ISBN } );
else
error( cfg.messages['unknown_manual_ID'] );
end
end
function comp( a, b ) -- used in following table.sort()
return a[1] < b[1];
end
table.sort( new_list, comp );
for k, v in ipairs( new_list ) do
new_list[k] = v[2];
end
return new_list;
end
function CorregirISBN(ISBNIncorrecto)
local ModuloIdentificadores = require('Módulo:Identificadores')
local ISBNCorregido
-- Convertir mayúsculas
ISBNCorregido = ISBNIncorrecto:upper()
-- Corregir guiones
ISBNCorregido = ISBNCorregido:gsub("%–","-");
-- Eliminar ISBN del principio
ISBNCorregido =ISBNCorregido:match("ISBN (.*)") or ISBNCorregido;
-- Eliminar separadores como "." y "," del final
ISBNCorregido = ISBNCorregido:gsub("[%.,]","");
if ModuloIdentificadores.esValidoISBN(ISBNCorregido) then
return ISBNCorregido
end
-- Ver si se trata de un ISBN de 13
local ISBNCorregidoSin978
ISBNCorregidoSin978 = ISBNCorregido:match("^978[%s-]*(.*)")
if ISBNCorregidoSin978 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin978) then
-- "978" + ISBN10
return ISBNCorregidoSin978
end
-- ISBN de 13 al que se ha quitado 978
if ModuloIdentificadores.esValidoISBN('978'..ISBNCorregido) then
if ISBNCorregido:match('-') then
return '978-' .. ISBNCorregido
elseif ISBNCorregido:match(' ') then
return '978 ' .. ISBNCorregido
else
return '978' .. ISBNCorregido
end
end
-- 13 ISBN o 13: ISBN
local ISBNCorregidoSi13
ISBNCorregidoSin13 = ISBNCorregido:match("^13:?[%s]+(.*)")
if ISBNCorregidoSin13 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin13) then
return ISBNCorregidoSin13
end
end
function CorregirISBNs(ISBNIncorrecto1, ISBNIncorrecto2)
-- Tomar aquel de los dos ISBNs correctos si uno de ellos es un ISBN10 y el
-- otro el correspondiente ISBN13
local ISBN1Corregido = CorregirISBN(ISBNIncorrecto1)
local ISBN2Corregido = CorregirISBN(ISBNIncorrecto2)
if ISBN1Corregido and ISBN2Corregido then
-- Ambos son correctos.
if ISBN1Corregido == ISBN2Corregido then
-- Ambos son iguales (tras corregirse)
return ISBN1Corregido
end
-- Ver si uno de ellos es un ISBN10 y el otro un ISBN13
local ISBNSinDigitoControl
ISBNSinDigitoControl = ISBN1Corregido:match("(.*).")
if ISBNSinDigitoControl and ISBN2Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then
return ISBN2Corregido
end
ISBNSinDigitoControl = ISBN2Corregido:match("(.*).")
if ISBNSinDigitoControl and ISBN1Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then
return ISBN1Corregido
end
elseif ISBN1Corregido then
return ISBN1Corregido
elseif ISBN2Corregido then
return ISBN1Corregido
end
end
function SugerirISBN(ISBNIncorrecto)
local ISBNSugerido
-- Ejemplos:
-- 0 88254 165 x --> 0 88254 165 X
-- 0-7153-5734-4. --> 0-7153-5734-4
-- 0–313–31807–7 --> 0-313-31807-7
-- ISBN(13): 9788495379092
-- 978-0-7432-9302-0 y 0-7432-9302-0
-- 9788430948949 8430948945
-- 8496702057 9788496702059
-- 0198152213, 978019815221
-- 13 978-0-511-41399-5
-- 13: 9788432238406
-- ISBN con caracteres incorrectos.
ISBNSugerido=CorregirISBN(ISBNIncorrecto)
if ISBNSugerido then
return ISBNSugerido
end
-- ISBN10, ISBN13 o ISBN13, ISBN10
local ISBN1, ISBN2
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*),%s*(.*)")
if is_set(ISBN1) and is_set(ISBN2) then
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)
if ISBNSugerido then
return ISBNSugerido
end
end
-- ISBN10 y ISBN13 o ISBN13 y ISBN10
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+y%s+(.*)")
if is_set(ISBN1) and is_set(ISBN2) then
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)
if ISBNSugerido then
return ISBNSugerido
end
end
-- ISBN10 ISBN13 o ISBN13 ISBN10
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+(.*)")
if is_set(ISBN1) and is_set(ISBN2) then
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)
if ISBNSugerido then
return ISBNSugerido
end
end
end
-- Chooses one matching parameter from a list of parameters to consider
-- Generates an error if more than one match is present.
function selectone( args, possible, error_condition, index )
local value = nil;
local selected = '';
local error_list = {};
if index ~= nil then index = tostring(index); end
-- Handle special case of "#" replaced by empty string
if index == '1' then
for _, v in ipairs( possible ) do
v = v:gsub( "#", "" );
if is_set(args[v]) then
if value ~= nil and selected ~= v then
table.insert( error_list, v );
else
value = args[v];
selected = v;
end
end
end
end
for _, v in ipairs( possible ) do
if index ~= nil then
v = v:gsub( "#", index );
end
if is_set(args[v]) then
if value ~= nil and selected ~= v then
table.insert( error_list, v );
else
value = args[v];
selected = v;
end
end
end
if #error_list > 0 then
local error_str = "";
for _, k in ipairs( error_list ) do
if error_str ~= "" then error_str = error_str .. cfg.messages['parameter-separator'] end
error_str = error_str .. wrap( 'parameter', k );
end
if #error_list > 1 then
error_str = error_str .. cfg.messages['parameter-final-separator'];
else
error_str = error_str .. cfg.messages['parameter-pair-separator'];
end
error_str = error_str .. wrap( 'parameter', selected );
table.insert( z.message_tail, { seterror( error_condition, {error_str}, true ) } );
end
return value, selected;
end
-- COinS metadata (see <http://ocoins.info/>) allows automated tools to parse
-- the citation information.
function COinS(data)
if 'table' ~= type(data) or nil == next(data) then
return '';
end
local ctx_ver = "Z39.88-2004";
-- treat table strictly as an array with only set values.
local OCinSoutput = setmetatable( {}, {
__newindex = function(self, key, value)
if is_set(value) then
rawset( self, #self+1, table.concat{ key, '=', mw.uri.encode( removewikilink( value ) ) } );
end
end
});
if is_set(data.Chapter) then
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book";
OCinSoutput["rft.genre"] = "bookitem";
OCinSoutput["rft.btitle"] = data.Chapter;
OCinSoutput["rft.atitle"] = data.Title;
elseif is_set(data.Periodical) then
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal";
OCinSoutput["rft.genre"] = "article";
OCinSoutput["rft.jtitle"] = data.Periodical;
OCinSoutput["rft.atitle"] = data.Title;
else
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book";
OCinSoutput["rft.genre"] = "book"
OCinSoutput["rft.btitle"] = data.Title;
end
OCinSoutput["rft.place"] = data.PublicationPlace;
OCinSoutput["rft.date"] = data.Date;
OCinSoutput["rft.series"] = data.Series;
OCinSoutput["rft.volume"] = data.Volume;
OCinSoutput["rft.issue"] = data.Issue;
OCinSoutput["rft.pages"] = data.Pages;
OCinSoutput["rft.edition"] = data.Edition;
OCinSoutput["rft.pub"] = data.PublisherName;
for k, v in pairs( data.ID_list ) do
local id, value = cfg.id_handlers[k].COinS;
if k == 'ISBN' then value = cleanisbn( v ); else value = v; end
if string.sub( id or "", 1, 4 ) == 'info' then
OCinSoutput["rft_id"] = table.concat{ id, "/", v };
else
OCinSoutput[ id ] = value;
end
end
local last, first;
for k, v in ipairs( data.Authors ) do
last, first = v.last, v.first;
if k == 1 then
if is_set(last) then
OCinSoutput["rft.aulast"] = last;
end
if is_set(first) then
OCinSoutput["rft.aufirst"] = first;
end
end
if is_set(last) and is_set(first) then
OCinSoutput["rft.au"] = table.concat{ last, ", ", first };
elseif is_set(last) then
OCinSoutput["rft.au"] = last;
end
end
OCinSoutput.rft_id = data.URL;
OCinSoutput.rfr_id = table.concat{ "info:sid/", mw.site.server:match( "[^/]*$" ), ":", data.RawPage };
OCinSoutput = setmetatable( OCinSoutput, nil );
-- sort with version string always first, and combine.
table.sort( OCinSoutput );
table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver ); -- such as "Z39.88-2004"
return table.concat(OCinSoutput, "&");
end
--[[
This is the main function doing the majority of the citation
formatting.
]]
function citation0( config, args)
local ModuloIdentificadores = require('Módulo:Identificadores')
--[[
Load Input Parameters
The argment_wrapper facillitates the mapping of multiple
aliases to single internal variable.
]]
local A = argument_wrapper( args );
local i
local PPrefix = A['PPrefix']
local PPPrefix = A['PPPrefix']
if is_set( A['NoPP'] ) then PPPrefix = "" PPrefix = "" end
-- Pick out the relevant fields from the arguments. Different citation templates
-- define different field names for the same underlying things.
local Authors = A['Authors'];
local a = extractnames( args, 'AuthorList' );
local Coauthors = A['Coauthors'];
local Editors = A['Editors'];
local e = extractnames( args, 'EditorList' );
local Year = A['Year'];
local wYear=Year;
local PublicationDate = A['PublicationDate'];
local OrigYear = A['OrigYear'];
local Date = A['Date'];
local wfecha = Date;
local LayDate = A['LayDate'];
------------------------------------------------- Get title data
local Title = A['Title'];
local BookTitle = A['BookTitle'];
local Conference = A['Conference'];
local TransTitle = A['TransTitle'];
local TitleNote = A['TitleNote'];
local TitleLink = A['TitleLink'];
local Chapter = A['Chapter'];
local ChapterLink = A['ChapterLink'];
local TransChapter = A['TransChapter'];
local TitleType = A['TitleType'];
local Degree = A['Degree'];
local Docket = A['Docket'];
local ArchiveURL = A['ArchiveURL'];
local URL = A['URL']
local URLorigin = A:ORIGIN('URL');
local ChapterURL = A['ChapterURL'];
local ChapterURLorigin = A:ORIGIN('ChapterURL');
local ConferenceURL = A['ConferenceURL'];
local ConferenceURLorigin = A:ORIGIN('ConferenceURL');
local SinURL = false;
local Periodical = A['Periodical'];
local Series = A['Series'];
local Volume = A['Volume'];
local Issue = A['Issue'];
local Position = '';
local Page = A['Page'];
local Pages = dashtohyphen( A['Pages'] );
local At = A['At'];
local Others = A['Others'];
local Edition = A['Edition'];
local PublicationPlace = A['PublicationPlace']
local Place = A['Place'];
local Passage = A['Passage'];
local PassageURL = A['PassageURL'];
local PublisherName = A['PublisherName'];
local UrlAccess = A['UrlAccess'];
local RegistrationRequired = A['RegistrationRequired'];
local SubscriptionRequired = A['SubscriptionRequired'];
local Via = A['Via'];
local AccessDate = A['AccessDate'];
local MesAcceso = A['MesAcceso']; -- Inexistente en la plantilla original
local AnyoAcceso = A['AñoAcceso']; -- Inexistente en la plantilla original
local ArchiveDate = A['ArchiveDate'];
local Agency = A['Agency'];
local DeadURL = A['DeadURL']
local Language = A['Language'];
local Format = A['Format'];
local Ref = A['Ref'];
local DoiBroken = A['DoiBroken'];
local ID = A['ID'];
local IgnoreISBN = A['IgnoreISBN'];
local Embargo = A['Embargo'];
local Texto1 = A['Texto1']
local ID_list = extractids( args );
local ISBNCorrecto = false;
local ISBNSugerido;
if is_set (ID_list['ISBN']) and not is_set (IgnoreISBN) then
if ModuloIdentificadores.esValidoISBN(ID_list['ISBN']) then
ISBNCorrecto= true
else
ISBNSugerido = SugerirISBN(ID_list['ISBN'])
if ISBNSugerido then
ID_list['ISBN'] = ISBNSugerido
end
end
end
local Lista_Identificadores_Formateados={} -- Lista de identificadores con enlaces y en su caso con los errores
local Quote = A['Quote'];
local TransQuote = A['TransQuote'];
local PostScript = A['PostScript'];
local LayURL = A['LayURL'];
local LaySource = A['LaySource'];
local Transcript = A['Transcript'];
local TranscriptURL = A['TranscriptURL']
local TranscriptURLorigin = A:ORIGIN('TranscriptURL');
local sepc = A['Separator'];
local LastAuthorAmp = A['LastAuthorAmp'];
local no_tracking_cats = A['NoTracking'];
--these are used by cite interview
local Callsign = A['Callsign'];
local City = A['City'];
local Cointerviewers = A['Cointerviewers']; -- deprecated
local Interviewer = A['Interviewer']; -- deprecated
local Program = A['Program'];
--Parámetros que no se utilizan en la plantilla inglesa
local SinEd = A['SinEd']
local Extra = A['Extra']
local Traductor = A['Traductor']
local Traductores = A['Traductores']
--local variables that are not cs1 parameters
local page_type; -- is this needed? Doesn't appear to be used anywhere;
local use_lowercase
local this_page = mw.title.getCurrentTitle(); --Also used for COinS and for language
-- local anchor_year; -- used in the CITEREF identifier
local COinS_date; -- used in the COinS metadata
--check this page to see if it is in one of the namespaces that cs1 is not supposed to add to the error categories.
if not is_set(no_tracking_cats) then -- ignore if we are already not going to categorize this page
for k, v in pairs( cfg.uncategorized_namespaces ) do -- otherwise, spin through the list of namespaces we don't include in error categories
if this_page.nsText == v then -- if we find one
no_tracking_cats = "true"; -- set no_trackin_cats
break; -- and we're done
end
end
end
-- check for extra |page=, |pages= or |at= parameters.
if is_set(Page) then
-- La categoría de la plantilla inglesa es intraducible. Utilizo otro error similar.
--if is_set(Pages) or is_set(At) then
-- Page = Page .. " " .. seterror('extra_pages'); -- add error message
-- Pages = ''; -- unset the others
-- At = '';
--end
if is_set(Pages) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|páginas=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(At) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|en=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(Passage) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|pasaje=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
end
elseif is_set(Pages) then
if is_set(At) then
-- Pages = Pages .. " " .. seterror('extra_pages'); -- add error messages
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>|páginas=</code> y <code>|en=</code>');
At = '';
Passage = '';
elseif is_set(Passage) then
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>|páginas=</code> y <code>|pasaje=</code>');
At = '';
Passage = '';
end
elseif is_set(At) then
if is_set(Passage) then
At = At .. " " .. seterror('redundant_parameters', '<code>|en=</code> y <code>|pasaje=</code>');
Passage = '';
end
end
-- both |publication-place= and |place= (|location=) allowed if different
if not is_set(PublicationPlace) and is_set(Place) then
PublicationPlace = Place; -- promote |place= (|location=) to |publication-place
end
if PublicationPlace == Place then Place = ''; end -- don't need both if they are the same
--[[
Parameter remapping for cite encyclopedia:
When the citation has these parameters:
|encyclopedia and |title then map |title to |article and |encyclopedia to |title
|encyclopedia and |article then map |encyclopedia to |title
|encyclopedia then map |encyclopedia to |title
|trans_title maps to |trans_chapter when |title is re-mapped
All other combinations of |encyclopedia, |title, and |article are not modified
]]
-- if ( config.ClaseCita == "encyclopaedia" ) then
if ( config.ClaseCita == "enciclopedia" ) then
if is_set(Periodical) then -- Periodical is set when |encyclopedia is set
if is_set(Title) then
if not is_set(Chapter) then
Chapter = Title; -- |encyclopedia and |title are set so map |title to |article and |encyclopedia to |title
TransChapter = TransTitle;
Title = Periodical;
Periodical = ''; -- redundant so unset
TransTitle = ''; -- redundant so unset
end
else -- |title not set
Title = Periodical; -- |encyclopedia set and |article set or not set so map |encyclopedia to |title
Periodical = ''; -- redundant so unset
end
end
end
--special cases for classic book
if config.ClaseCita == 'libro' and is_set(Passage) then
if is_set(PassageURL) then
Passage = externallink( PassageURL, Passage )
end
if not is_set (sepc) then
sepc = ' ';
end
else
Passage = ''
end
--special cases for citation.
if (config.ClaseCita == "citation") then -- for citation templates
if not is_set (sepc) then -- if |separator= is not set
sepc = ','; -- set citation separator to its default (comma)
end
else -- not a citation template
if not is_set (sepc) then -- if |separator= has not been set
sepc = '.'; -- set cite xxx separator to its default (period)
end
end
if not is_set (Ref) then -- if |ref= is not set
-- if inArray(config.ClaseCita, {"citation", "libro", "publicación", "web"}) then -- for citation templates
-- En la Wikipedia inglesa solo se usan citas Harvard para la clase citation
-- Quedan habilitadas las citas Harvard para cualquier clase que contenga algún autor o editor
if #a > 0 or #e > 0 then
Ref = "harv"; -- set default |ref=harv
end
end
-- check for specital case where |separator=none
if 'none' == sepc:lower() then -- if |separator=none
sepc = ''; -- then set it to a empty string
end
use_lowercase = ( sepc ~= '.' );
Others = is_set(Others) and (sepc .. " " .. Others) or "";
-- Special case for cite techreport.
if (config.ClaseCita == "techreport") then -- special case for cite techreport
if is_set(Issue) then -- cite techreport uses 'number', which other citations aliase to 'issue'
if not is_set(ID) then -- can we use ID for the "number"?
ID = Issue; -- yes, use it
Issue = ""; -- unset Issue so that "number" isn't duplicated in the rendered citation or COinS metadata
else -- can't use ID so emit error message
ID = ID .. " " .. seterror('redundant_parameters', '<code>|id=</code> and <code>|number=</code>');
end
end
-- special case for cite interview
elseif (config.ClaseCita == "entrevista") then
if is_set(Program) then
ID = ' ' .. Program;
end
if is_set(Callsign) then
if is_set(ID) then
ID = ID .. sepc .. ' ' .. Callsign;
else
ID = ' ' .. Callsign;
end
end
if is_set(City) then
if is_set(ID) then
ID = ID .. sepc .. ' ' .. City;
else
ID = ' ' .. City;
end
end
if is_set(Interviewer) then
if is_set(TitleType) then
Others = sepc .. ' ' .. TitleType .. ' con ' .. Interviewer -- ' ' .. TitleType .. ' con ' .. Interviewer;
TitleType = '';
else
Others = sepc .. ' ' .. wrap('interview', Interviewer, use_lowercase) .. Others -- ' ' .. 'Entrevista con ' .. Interviewer;
end
if is_set(Cointerviewers) then
Others = Others .. sepc .. ' ' .. Cointerviewers;
end
else
Others = Others .. sepc .. ' (Entrevista)' --'(Interview)';
end
elseif is_set(ID) then
ID = wrap( 'id', ID)
end
--Account for the oddity that is {{cite journal}} with |pmc= set and |url= not set
-- if config.ClaseCita == "journal" and not is_set(URL) and is_set(ID_list['PMC']) then
if config.ClaseCita == "publicación" and not is_set(URL) and is_set(ID_list['PMC']) then
if not is_embargoed(Embargo) then
URL=cfg.id_handlers['PMC'].prefix .. ID_list['PMC']; -- set url to be the same as the PMC external link if not embargoed
URLorigin = cfg.id_handlers['PMC'].parameters[1]; -- set URLorigin to parameter name for use in error message if citation is missing a |title=
end
end
if is_set(Texto1) and Texto1:match("%S+") then
-- Informar la URL con el valor del campo 1 en su caso
if config.ClaseCita == "web" and not is_set(URL) and checkurl(Texto1) then
table.insert( z.message_tail, { seterror( 'url_sugerida', {Texto1, 'url'}, true ) } )
--URL = Texto1 Utilizar URL como texto.
else
table.insert( z.message_tail, { seterror( 'text_ignored', {Texto1}, true ) } )
end
end
-- Account for the oddity that is {{cite conference}}, before generation of COinS data.
--TODO: if this is only for {{cite conference}}, shouldn't we be checking? (if config.ClaseCita=='conference' then ...)
if 'conferencia' == config.ClaseCita then
if is_set(BookTitle) then
Chapter = Title;
-- ChapterLink = TitleLink; -- |chapterlink= is deprecated
ChapterURL = URL;
ChapterUrlAccess = UrlAccess;
ChapterURLorigin = URLorigin;
URLorigin = '';
ChapterFormat = Format;
TransChapter = TransTitle;
Title = BookTitle;
Format = '';
-- TitleLink = '';
TransTitle = '';
URL = '';
end
elseif 'speech' ~= config.ClaseCita then
Conference = ''; -- not cite conference or cite speech so make sure this is empty string
end
-- Account for the oddity that is {{cite episode}}, before generation of COinS data.
--[[ -- {{cite episode}} is not currently supported by this module
if config.ClaseCita == "episode" then
local AirDate = A['AirDate'];
local SeriesLink = A['SeriesLink'];
local Season = A['Season'];
local SeriesNumber = A['SeriesNumber'];
local Network = A['Network'];
local Station = A['Station'];
local s, n = {}, {};
local Sep = (first_set(A["SeriesSeparator"], A["Separator"]) or "") .. " ";
if is_set(Issue) then table.insert(s, cfg.messages["episode"] .. " " .. Issue); Issue = ''; end
if is_set(Season) then table.insert(s, cfg.messages["season"] .. " " .. Season); end
if is_set(SeriesNumber) then table.insert(s, cfg.messages["series"] .. " " .. SeriesNumber); end
if is_set(Network) then table.insert(n, Network); end
if is_set(Station) then table.insert(n, Station); end
Date = Date or AirDate;
Chapter = Title;
ChapterLink = TitleLink;
TransChapter = TransTitle;
Title = Series;
TitleLink = SeriesLink;
TransTitle = '';
Series = table.concat(s, Sep);
ID = table.concat(n, Sep);
end
-- end of {{cite episode}} stuff]]
-- legacy: promote concatenation of |day=, |month=, and |year= to Date if Date not set; or, promote PublicationDate to Date if neither Date nor Year are set.
if not is_set(Date) then
Date = Year; -- promote Year to Date
Year = nil; -- make nil so Year as empty string isn't used for CITEREF
if is_set(Date) then
local Month = A['Month'];
if is_set(Month) then
Date = Month .. " de " .. Date; --Month .. " " .. Date;
local Day = A['Day']
if is_set(Day) then Date = Day .. " de " .. Date end --if is_set(Day) then Date = Day .. " " .. Date end
end
elseif is_set(PublicationDate) then -- use PublicationDate when |date= and |year= are not set
Date = PublicationDate; -- promonte PublicationDate to Date
PublicationDate = ''; -- unset, no longer needed
end
end
if PublicationDate == Date then PublicationDate = ''; end -- if PublicationDate is same as Date, don't display in rendered citation
--[[
Go test all of the date-holding parameters for valid MOS:DATE format and make sure that dates are real dates. This must be done before we do COinS because here is where
we get the date used in the metadata.
Date validation supporting code is in Módulo:Citas/ValidaciónFechas
]]
--[[
anchor_year, COinS_date, error_message = dates({['accessdate']=AccessDate, ['airdate']=AirDate, ['archivedate']=ArchiveDate, ['date']=Date, ['doi_brokendate']=DoiBroken,
['embargo']=Embargo, ['laydate']=LayDate, ['publicationdate']=PublicationDate, ['year']=Year});
if is_set(error_message) then
table.insert( z.message_tail, { seterror( 'bad_date', {error_message}, true ) } ); -- add this error message
end
]]
-- At this point fields may be nil if they weren't specified in the template use. We can use that fact.
-- COinS metadata (see <http://ocoins.info/>) for
-- automated parsing of citation information.
local OCinSoutput = COinS{
['Periodical'] = Periodical,
['Chapter'] = Chapter,
['Title'] = Title,
['PublicationPlace'] = PublicationPlace,
['Date'] = first_set(COinS_date, Date), -- COinS_date has correctly formatted date if Date is valid; any reason to keep Date here? Should we be including invalid dates in metadata?
['Series'] = Series,
['Volume'] = Volume,
['Issue'] = Issue,
['Pages'] = get_coins_pages (first_set(Page, Pages, At)), -- pages stripped of external links
['Edition'] = Edition,
['PublisherName'] = PublisherName,
['URL'] = first_set( URL, ChapterURL ),
['Authors'] = a,
['ID_list'] = ID_list,
['RawPage'] = this_page.prefixedText,
};
if is_set(Periodical) and not is_set(Chapter) and is_set(Title) then
Chapter = Title;
ChapterLink = TitleLink;
TransChapter = TransTitle;
Title = '';
TitleLink = '';
TransTitle = '';
end
-- Now perform various field substitutions.
-- We also add leading spaces and surrounding markup and punctuation to the
-- various parts of the citation, but only when they are non-nil.
if not is_set(Authors) then
local Maximum = tonumber( A['DisplayAuthors'] );
-- Preserve old-style implicit et al.
if not is_set(Maximum) and #a == 9 then
Maximum = 8;
table.insert( z.message_tail, { seterror('implict_etal_author', {}, true ) } );
elseif not is_set(Maximum) then
Maximum = #a + 1;
end
local control = {
sep = A["AuthorSeparator"] .. " ",
namesep = (first_set(A["AuthorNameSeparator"], A["NameSeparator"]) or "") .. " ",
format = A["AuthorFormat"],
maximum = Maximum,
lastauthoramp = LastAuthorAmp
};
-- If the coauthor field is also used, prevent ampersand and et al. formatting.
if is_set(Coauthors) then
control.lastauthoramp = nil;
control.maximum = #a + 1;
end
Authors = listpeople(control, a)
end
if not is_set(Authors) and is_set(Coauthors) then -- coauthors aren't displayed if one of authors=, authorn=, or lastn= isn't specified
table.insert( z.message_tail, { seterror('coauthors_missing_author', {}, true) } ); -- emit error message
-- Utilizo temporalmente los coautores como autores.
Authors = Coauthors
Coauthors = nil
end
local EditorCount
if not is_set(Editors) then
local Maximum = tonumber( A['DisplayEditors'] );
-- Preserve old-style implicit et al.
if not is_set(Maximum) and #e == 4 then
Maximum = 3;
table.insert( z.message_tail, { seterror('implict_etal_editor', {}, true) } );
elseif not is_set(Maximum) then
Maximum = #e + 1;
end
local control = {
sep = A["EditorSeparator"] .. " ",
namesep = (first_set(A["EditorNameSeparator"], A["NameSeparator"]) or "") .. " ",
format = A['EditorFormat'],
maximum = Maximum,
lastauthoramp = LastAuthorAmp
};
Editors, EditorCount = listpeople(control, e);
else
EditorCount = 1;
end
local Cartography = "";
local Scale = "";
if config.ClaseCita == "map" then
if not is_set( Authors ) and is_set( PublisherName ) then
Authors = PublisherName;
PublisherName = "";
end
Cartography = A['Cartography'];
if is_set( Cartography ) then
Cartography = sepc .. " " .. wrap( 'cartography', Cartography, use_lowercase );
end
Scale = A['Scale'];
if is_set( Scale ) then
Scale = sepc .. " " .. Scale;
end
end
if not is_set(URL) and
not is_set(ChapterURL) and
not is_set(ArchiveURL) and
not is_set(ConferenceURL) and
not is_set(TranscriptURL) then
sinURL = true
-- Test if cite web or cite podcast |url= is missing or empty
if inArray(config.ClaseCita, {"web","podcast"}) then
table.insert( z.message_tail, { seterror( 'cite_web_url', {}, true ) } );
end
-- Test if format is given without giving a URL
if is_set(Format) then
Format = Format .. seterror( 'format_missing_url' );
end
end
-- Test if citation has no title
if not is_set(Chapter) and
not is_set(Title) and
not is_set(Periodical) and
not is_set(Conference) and
not is_set(TransTitle) and
not is_set(TransChapter) and
not is_set(Passage) then
table.insert( z.message_tail, { seterror( 'citation_missing_title', {}, true ) } );
end
Format = is_set(Format) and " " .. wrap( 'format', Format ) or ""; --is_set(Format) and " (" .. Format .. ")" or "";
local OriginalURL = URL
DeadURL = DeadURL:lower();
if is_set( ArchiveURL ) then
if ( DeadURL ~= "no" ) then
URL = ArchiveURL
URLorigin = A:ORIGIN('ArchiveURL')
end
end
-- Format chapter / article title
if is_set(Chapter) and is_set(ChapterLink) then
Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]";
end
if is_set(Periodical) and is_set(Title) then
Chapter = wrap( 'italic-title', Chapter );
TransChapter = wrap( 'trans-italic-title', TransChapter );
else
Chapter = kern_quotes (Chapter); -- if necessary, separate chapter title's leading and trailing quote marks from Module provided quote marks
Chapter = wrap( 'quoted-title', Chapter );
TransChapter = wrap( 'trans-quoted-title', TransChapter );
end
local TransError = ""
if is_set(TransChapter) then
if not is_set(Chapter) then
TransError = " " .. seterror( 'trans_missing_chapter' );
else
TransChapter = " " .. TransChapter;
end
end
Chapter = Chapter .. TransChapter;
if is_set(Chapter) then
if not is_set(ChapterLink) then
if is_set(ChapterURL) then
Chapter = externallink( ChapterURL, Chapter ) .. TransError;
if not is_set(URL) then
Chapter = Chapter .. Format;
Format = "";
end
elseif is_set(URL) then
Chapter = externallink( URL, Chapter ) .. TransError .. Format;
URL = "";
Format = "";
else
Chapter = Chapter .. TransError;
end
elseif is_set(ChapterURL) then
Chapter = Chapter .. " " .. externallink( ChapterURL, nil, ChapterURLorigin ) ..
TransError;
else
Chapter = Chapter .. TransError;
end
Chapter = Chapter .. sepc .. " " -- with end-space
elseif is_set(ChapterURL) then
Chapter = " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. sepc .. " ";
end
-- Format main title.
if is_set(TitleLink) and is_set(Title) then
Title = "[[" .. TitleLink .. "|" .. Title .. "]]"
end
if is_set(Traductor) and is_set(Traductores) then
Traductor = " " .. wrap( 'traductores', Traductores) .. " " .. seterror('redundant_parameters', '<code>|traductor=</code> y <code>|traductores=</code>')
elseif is_set(Traductor) then
Traductor = " " .. wrap( 'traductor', Traductor)
elseif is_set(Traductores) then
Traductor = " " .. wrap( 'traductores', Traductores)
end
Traductores = ''
if is_set(Periodical) then
Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks
Title = wrap( 'quoted-title', Title );
TransTitle = wrap( 'trans-quoted-title', TransTitle );
-- elseif inArray(config.ClaseCita, {"web","news","pressrelease","conference","podcast"}) and
elseif inArray(config.ClaseCita, {"web","noticia","pressrelease","conference","podcast"}) and
not is_set(Chapter) then
Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks
Title = wrap( 'quoted-title', Title );
TransTitle = wrap( 'trans-quoted-title', TransTitle );
else
Title = wrap( 'italic-title', Title );
TransTitle = wrap( 'trans-italic-title', TransTitle );
end
TransError = "";
if is_set(TransTitle) then
if not is_set(Title) then
TransError = " " .. seterror( 'trans_missing_title' );
else
TransTitle = " " .. TransTitle;
end
end
Title = Title .. Traductor .. TransTitle;
if is_set(Title) then
if not is_set(TitleLink) and is_set(URL) then
Title = externallink( URL, Title, URL_origin, UrlAccess ) .. TransError .. Format
URL = "";
TieneURL = true;
Format = "";
else
Title = Title .. TransError;
end
end
if is_set(Place) then
Place = " " .. wrap( 'written', Place, use_lowercase ) .. sepc .. " ";
end
if is_set(Conference) then
if is_set(ConferenceURL) then
Conference = externallink( ConferenceURL, Conference );
end
Conference = sepc .. " " .. Conference
elseif is_set(ConferenceURL) then
Conference = sepc .. " " .. externallink( ConferenceURL, nil, ConferenceURLorigin );
end
if not is_set(Position) then
local Minutes = A['Minutes'];
if is_set(Minutes) then
Position = " " .. Minutes .. " " .. cfg.messages['minutes'];
else
local Time = A['Time'];
if is_set(Time) then
local TimeCaption = A['TimeCaption']
if not is_set(TimeCaption) then
TimeCaption = cfg.messages['event'];
if sepc ~= '.' then
TimeCaption = TimeCaption:lower();
end
end
Position = " " .. TimeCaption .. " " .. Time;
end
end
else
Position = " " .. Position;
At = '';
end
if not is_set(Page) then
if is_set(Pages) then
if is_set(Periodical) and
-- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then
not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then
Pages = ": " .. Pages;
elseif tonumber(Pages) ~= nil then
Pages = sepc .." " .. PPrefix .. Pages;
else
Pages = sepc .." " .. PPPrefix .. Pages;
end
end
else
if is_set(Periodical) and
-- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then
not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then
Page = ": " .. Page;
else
Page = sepc .." " .. PPrefix .. Page;
end
end
At = is_set(At) and (sepc .. " " .. At) or "";
Passage = is_set(Passage) and (sepc .. " " .. Passage) or "";
Position = is_set(Position) and (sepc .. " " .. Position) or "";
if config.ClaseCita == 'map' then
local Section = A['Section'];
local Inset = A['Inset'];
if first_set( Pages, Page, At ) ~= nil or sepc ~= '.' then
if is_set( Section ) then
Section = ", " .. wrap( 'section', Section, true );
end
if is_set( Inset ) then
Inset = ", " .. wrap( 'inset', Inset, true );
end
else
if is_set( Section ) then
Section = sepc .. " " .. wrap( 'section', Section, use_lowercase );
if is_set( Inset ) then
Inset = ", " .. wrap( 'inset', Inset, true );
end
elseif is_set( Inset ) then
Inset = sepc .. " " .. wrap( 'inset', Inset, use_lowercase );
end
end
At = At .. Section .. Inset;
end
--[[Look in the list of iso639-1 language codes to see if the value provided in the language parameter matches one of them. If a match is found,
use that value; if not, then use the value that was provided with the language parameter.
Categories are assigned in a manner similar to the {{xx icon}} templates - categorizes only mainspace citations and only when the language code is not 'en' (English).
]]
if is_set (Language) then
-- Poner en minúsculas el primer caracter del idioma si está en mayúsculas
Language = Language:gsub("^%u", string.lower)
if Language == 'español' or Language == 'castellano' or Language == 'es' or Language:match('^es%-.*') then
Language=""; -- No mostrar el idioma español
else
local name = mw.language.fetchLanguageName( Language:lower(), "es" ); -- experiment: this seems to return correct ISO 639-1 language names
if is_set (name) then
Language=" " .. wrap( 'language', name );
else
Language=" " .. wrap( 'language', Language ); -- no match, use parameter's value
end
end
else
Language=""; -- Asegurarnos de que el idioma no es nulo.
end
-- handle type parameter for those CS1 citations that have default values
-- if inArray(config.ClaseCita, {"AV media notes", "DVD notes", "podcast", "pressrelease", "techreport", "thesis"}) then
if inArray(config.ClaseCita, {"notas audiovisual", "notas de DVD", "podcast", "pressrelease", "techreport", "tesis"}) then
TitleType = set_titletype (config.ClaseCita, TitleType);
if is_set(Degree) and "Tesis" == TitleType then -- special case for cite thesis
TitleType = "Tesis de " .. Degree;
end
end
if is_set(TitleType) then -- if type parameter is specified
TitleType = " (" .. TitleType .. ")"; -- display it in parentheses
end
TitleNote = is_set(TitleNote) and (sepc .. " " .. TitleNote) or "";
if is_set(Edition) then
if is_set(SinEd) then -- No existe el parámetro en el módulo de la wikipedia inglesa.
Edition = " " .. wrap( 'sin edición', Edition ) -- No existe el parámetro en el módulo de la wikipedia inglesa.
else
Edition = " " .. wrap( 'edition', Edition )
end
else
Edition = ""
end
Issue = is_set(Issue) and (" (" .. Issue .. ")") or "";
Series = is_set(Series) and (sepc .. " " .. Series) or "";
OrigYear = is_set(OrigYear) and (" [" .. OrigYear .. "]") or "";
Agency = is_set(Agency) and (sepc .. " " .. Agency) or "";
if is_set(Volume) then
if Volume:match ('^%d+$') or Volume:match ('^[MDCLXVI]+$') -- negrita solamente si el capítulo está reflejado como cifra decimal o números romanos
then Volume = " <b>" .. dashtohyphen(Volume) .. "</b>";
else Volume = sepc .." " .. Volume;
end
end
--[[ This code commented out while discussion continues until after week of 2014-03-23 live module update;
if is_set(Volume) then
if ( mw.ustring.len(Volume) > 4 )
then Volume = sepc .. " " .. Volume;
else
Volume = " <b>" .. hyphentodash(Volume) .. "</b>";
if is_set(Series) then Volume = sepc .. Volume;
end
end
end
]]
------------------------------------ totally unrelated data
--[[ Loosely mimic {{subscription required}} template; Via parameter identifies a delivery source that is not the publisher; these sources often, but not always, exist
behind a registration or paywall. So here, we've chosen to decouple via from subscription (via has never been part of the registration required template).
Subscription implies paywall; Registration does not. If both are used in a citation, the subscription required link note is displayed. There are no error messages for this condition.
]]
if is_set(Via) then
Via = " " .. wrap( 'via', Via );
end
if UrlAccess == 'registration' then
RegistrationRequired = true
end
if is_set(SubscriptionRequired) then
SubscriptionRequired = sepc .. " " .. cfg.messages['subscription']; --here when 'via' parameter not used but 'subscription' is
elseif is_set(RegistrationRequired) then
SubscriptionRequired = sepc .. " " .. cfg.messages['registration']; --here when 'via' and 'subscription' parameters not used but 'registration' is
end
-- if is_set(AccessDate) then
if is_set(AccessDate) or is_set(AnyoAcceso) then
-- Test if accessdate is given without giving a URL
if sinURL then
table.insert( z.message_tail, { seterror( 'accessdate_missing_url', {}, true ) } );
AccessDate = '';
else
if is_set(AccessDate) then
if is_set(MesAcceso) and is_set(AnyoAcceso) then
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code>, <code>|añoacceso=</code> y <code>|mesacceso=</code>')
elseif is_set(MesAcceso) then
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code> y <code>|mesacceso=</code>')
elseif is_set(AnyoAcceso) then
if string.find(AccessDate, '%sde%s') then
AccessDate = AccessDate .. ' de ' .. AnyoAcceso
else
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code> y <code>|Añoacceso=</code>');
end
end
elseif is_set(MesAcceso) then
AccessDate = MesAcceso .. ' de ' .. AnyoAcceso
else
AccessDate = AnyoAcceso
end
local retrv_text = " " .. cfg.messages['retrieved']
if (sepc ~= ".") then retrv_text = retrv_text:lower() end
AccessDate = '<span class="reference-accessdate">' .. sepc
.. substitute( retrv_text, {format_date(AccessDate)} ) .. '</span>'
end
elseif is_set(MesAcceso) then
end
if is_set(ID) then ID = sepc .." ".. ID; end
if "tesis" == config.ClaseCita and is_set(Docket) then
ID = sepc .." Docket ".. Docket .. ID;
end
Lista_Identificadores_Formateados = buildidlist( ID_list, {DoiBroken = DoiBroken, IgnoreISBN = IgnoreISBN, Embargo=Embargo, ISBNCorrecto = ISBNCorrecto, ISBNSugerido = ISBNSugerido} );
if is_set(URL) then
URL = " " .. externallink( URL, nil, URLorigin, UrlAccess );
end
-- Set postscript default.
if not is_set (PostScript) then -- if |postscript= has not been set (Postscript is nil which is the default for {{citation}}) and
if (config.ClaseCita ~= "citation") then -- this template is not a citation template
PostScript = '.'; -- must be a cite xxx template so set postscript to default (period)
end
else
if PostScript:lower() == 'none' then -- if |postscript=none then
PostScript = ''; -- no postscript
end
end
if is_set(Quote) or is_set(TransQuote) then
-- Eliminar comillas de Quote
if (Quote:sub(1,1) == '"' and Quote:sub(-1,-1) == '"') or
(Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then
Quote = Quote:sub(2,-2);
end
-- No añadir el punto final a la cita si el campo Quote ya incluye un punto
if Quote:sub(-1,-1) == '.' or Quote:sub(-1,-1) == '?' or
Quote:sub(-1,-1) == '!' then
PostScript = ""
end
-- Eliminar comillas de TransQuote
if (TransQuote:sub(1, 1) == '"' and TransQuote:sub(-1, -1) == '"') or
(Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then
TransQuote = TransQuote:sub(2, -2);
end
-- No añadir el punto final a la cita si el campo TransQuote ya incluye un punto
if TransQuote:sub(-1,-1) == '.' or TransQuote:sub(-1,-1) == '?' or
TransQuote:sub(-1,-1) == '!' then
PostScript = ""
end
Quote = Quote .. " " .. wrap( 'trans-quoted-title', TransQuote );
TransQuote = wrap( 'trans-quoted-title', TransQuote );
Quote = sepc .." " .. wrap( 'quoted-text', Quote );
end
local Archived
if is_set(ArchiveURL) then
if not is_set(ArchiveDate) then
ArchiveDate = seterror('archive_missing_date');
else
ArchiveDate = format_date(ArchiveDate)
end
if "no" == DeadURL then
local arch_text = cfg.messages['archived'];
if sepc ~= "." then arch_text = arch_text:lower() end
Archived = sepc .. " " .. substitute( cfg.messages['archived-not-dead'],
{ externallink( ArchiveURL, arch_text ), ArchiveDate } );
if not is_set(OriginalURL) then
Archived = Archived .. " " .. seterror('archive_missing_url');
end
elseif is_set(OriginalURL) then
local arch_text = cfg.messages['archived-dead'];
if sepc ~= "." then arch_text = arch_text:lower() end
Archived = sepc .. " " .. substitute( arch_text,
{ externallink( OriginalURL, cfg.messages['original'] ), ArchiveDate } );
else
local arch_text = cfg.messages['archived-missing'];
if sepc ~= "." then arch_text = arch_text:lower() end
Archived = sepc .. " " .. substitute( arch_text,
{ seterror('archive_missing_url'), ArchiveDate } );
end
else
Archived = ""
end
local Lay
if is_set(LayURL) then
if is_set(LayDate) then LayDate = " (" .. format_date(LayDate) .. ")" end
if is_set(LaySource) then
LaySource = " – ''" .. safeforitalics(LaySource) .. "''";
else
LaySource = "";
end
if sepc == '.' then
Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary'] ) .. LaySource .. LayDate
else
Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary']:lower() ) .. LaySource .. LayDate
end
else
Lay = "";
end
if is_set(Transcript) then
if is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, Transcript ); end
elseif is_set(TranscriptURL) then
Transcript = externallink( TranscriptURL, nil, TranscriptURLorigin );
end
local Publisher;
if is_set(Periodical) and
-- not inArray(config.ClaseCita, {"encyclopaedia","web","pressrelease","podcast"}) then
not inArray(config.ClaseCita, {"enciclopedia","web","pressrelease","podcast"}) then
if is_set(PublisherName) then
if is_set(PublicationPlace) then
Publisher = PublicationPlace .. ": " .. PublisherName;
else
Publisher = PublisherName;
end
elseif is_set(PublicationPlace) then
Publisher= PublicationPlace;
else
Publisher = "";
end
if is_set(PublicationDate) then
if is_set(Publisher) then
Publisher = Publisher .. ", " .. wrap( 'published', PublicationDate );
else
Publisher = PublicationDate;
end
end
if is_set(Publisher) then
Publisher = " (" .. Publisher .. ")";
end
else
if is_set(PublicationDate) then
PublicationDate = " (" .. wrap( 'published', format_date(PublicationDate) ) .. ")";
end
if is_set(PublisherName) then
if is_set(PublicationPlace) then
Publisher = sepc .. " " .. PublicationPlace .. ": " .. PublisherName .. PublicationDate;
else
Publisher = sepc .. " " .. PublisherName .. PublicationDate;
end
elseif is_set(PublicationPlace) then
Publisher= sepc .. " " .. PublicationPlace .. PublicationDate;
else
Publisher = PublicationDate;
end
end
-- Several of the above rely upon detecting this as nil, so do it last.
if is_set(Periodical) then
if is_set(Title) or is_set(TitleNote) then
Periodical = sepc .. " " .. wrap( 'italic-title', Periodical )
else
Periodical = wrap( 'italic-title', Periodical )
end
end
--[[
Handle the oddity that is cite speech. This code overrides whatever may be the value assigned to TitleNote (through |department=) and forces it to be " (Speech)" so that
the annotation directly follows the |title= parameter value in the citation rather than the |event= parameter value (if provided).
]]
if "speech" == config.ClaseCita then -- cite speech only
TitleNote = " (Speech)"; -- annotate the citation
if is_set (Periodical) then -- if Periodical, perhaps because of an included |website= or |journal= parameter
if is_set (Conference) then -- and if |event= is set
Conference = Conference .. sepc .. " "; -- then add appropriate punctuation to the end of the Conference variable before rendering
end
end
end
-- Piece all bits together at last. Here, all should be non-nil.
-- We build things this way because it is more efficient in LUA
-- not to keep reassigning to the same string variable over and over.
local tcommon
-- if inArray(config.ClaseCita, {"journal","citation"}) and is_set(Periodical) then
if inArray(config.ClaseCita, {"publicación","citation"}) and is_set(Periodical) then
if is_set(Others) then Others = Others .. sepc .. " " end
tcommon = safejoin( {Others, Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series,
Language, Cartography, Edition, Publisher, Agency, Volume, Issue}, sepc );
else
tcommon = safejoin( {Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language,
Volume, Issue, Others, Cartography, Edition, Publisher, Agency}, sepc );
end
if #Lista_Identificadores_Formateados > 0 then
Lista_Identificadores_Formateados = safejoin( { sepc .. " ", table.concat( Lista_Identificadores_Formateados, sepc .. " " ), ID }, sepc );
else
Lista_Identificadores_Formateados = ID;
end
local idcommon = safejoin( { Lista_Identificadores_Formateados, URL, Archived, AccessDate, Via, SubscriptionRequired, Lay, Quote }, sepc );
local text;
local pgtext = Position .. Page .. Pages .. At .. Passage;
if is_set(Authors) then
if is_set(Coauthors) then
Authors = Authors .. A['AuthorSeparator'] .. " " .. Coauthors
end
if is_set(Date) then
Date = " ("..format_date(Date)..")" .. OrigYear .. sepc .. " "
elseif string.sub(Authors,-1,-1) == sepc then
Authors = Authors .. " "
else
Authors = Authors .. sepc .. " "
end
if is_set(Editors) then
local in_text = " ";
local post_text = "";
if is_set(Chapter) then
in_text = in_text .. cfg.messages['in'] .. " "
end
if EditorCount <= 1 then
post_text = ", " .. cfg.messages['editor'];
else
post_text = ", " .. cfg.messages['editors'];
end
if (sepc ~= '.') then in_text = in_text:lower() end
Editors = in_text .. Editors .. post_text;
if (string.sub(Editors,-1,-1) == sepc)
then Editors = Editors .. " "
else Editors = Editors .. sepc .. " "
end
end
text = safejoin( {Authors, Date, Chapter, Place, Editors, tcommon }, sepc );
text = safejoin( {text, pgtext, idcommon}, sepc );
elseif is_set(Editors) then
if is_set(Date) then
if EditorCount <= 1 then
Editors = Editors .. ", " .. cfg.messages['editor'];
else
Editors = Editors .. ", " .. cfg.messages['editors'];
end
Date = " (" .. format_date(Date) ..")" .. OrigYear .. sepc .. " "
else
if EditorCount <= 1 then
Editors = Editors .. " (" .. cfg.messages['editor'] .. ")" .. sepc .. " "
else
Editors = Editors .. " (" .. cfg.messages['editors'] .. ")" .. sepc .. " "
end
end
text = safejoin( {Editors, Date, Chapter, Place, tcommon}, sepc );
text = safejoin( {text, pgtext, idcommon}, sepc );
else
if is_set(Date) then
if ( string.sub(tcommon,-1,-1) ~= sepc )
then Date = sepc .." " .. format_date(Date) .. OrigYear
else Date = " " .. format_date(Date) .. OrigYear
end
end
-- if config.ClaseCita=="journal" and is_set(Periodical) then
if config.ClaseCita=="publicación" and is_set(Periodical) then
text = safejoin( {Chapter, Place, tcommon}, sepc );
text = safejoin( {text, pgtext, Date, idcommon}, sepc );
else
text = safejoin( {Chapter, Place, tcommon, Date}, sepc );
text = safejoin( {text, pgtext, idcommon}, sepc );
end
end
if is_set(PostScript) and PostScript ~= sepc then
text = safejoin( {text, sepc}, sepc ); --Deals with italics, spaces, etc.
text = text:sub(1,-sepc:len()-1);
-- text = text:sub(1,-2); --Remove final separator (assumes that sepc is only one character)
end
text = safejoin( {text, PostScript}, sepc );
-- Now enclose the whole thing in a <span/> element
local options = {};
if is_set(config.ClaseCita) and config.ClaseCita ~= "citation" then
options.class = "citation " .. config.ClaseCita;
else
options.class = "citation";
end
if is_set(Ref) and Ref:lower() ~= "none" then
local id = Ref
if ( "harv" == Ref ) then
local names = {} --table of last names & year
if #a > 0 then
for i,v in ipairs(a) do
names[i] = v.last
if i == 4 then break end
end
elseif #e > 0 then
for i,v in ipairs(e) do
names[i] = v.last
if i == 4 then break end
end
end
-- names[ #names + 1 ] = first_set(Year, anchor_year); -- Year first for legacy citations
-- names[ #names + 1 ] = first_set(Year, ''); -- Year first for legacy citations
names[ #names + 1 ] = first_set(wYear, wfecha, ''); -- Year first for legacy citations
id = anchorid(names)
end
options.id = id;
end
if string.len(text:gsub("<span[^>/]*>.-</span>", ""):gsub("%b<>","")) <= 2 then
z.error_categories = {};
text = seterror('empty_citation');
z.message_tail = {};
end
if is_set(options.id) then
text = '<span id="' .. mw.uri.anchorEncode(options.id) ..'" class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>";
else
text = '<span class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>";
end
local empty_span = '<span style="display:none;"> </span>';
-- Note: Using display: none on then COinS span breaks some clients.
local OCinS = '<span title="' .. OCinSoutput .. '" class="Z3988">' .. empty_span .. '</span>';
text = text .. OCinS;
if #z.message_tail ~= 0 then
text = text .. " ";
for i,v in ipairs( z.message_tail ) do
if is_set(v[1]) then
if i == #z.message_tail then
text = text .. errorcomment( v[1], v[2] );
else
text = text .. errorcomment( v[1] .. "; ", v[2] );
end
end
end
end
no_tracking_cats = no_tracking_cats:lower();
if inArray(no_tracking_cats, {"", "no", "false", "n"}) then
for _, v in ipairs( z.error_categories ) do
text = text .. '[[Category:' .. v ..']]';
end
end
return text
end
-- This is used by templates such as {{cite book}} to create the actual citation text.
function z.cita(frame)
local pframe = frame:getParent()
if nil ~= string.find( frame:getTitle(), 'sandbox', 1, true ) then -- did the {{#invoke:}} use sandbox version?
cfg = mw.loadData('Módulo:Citas/Configuración/pruebas' ); -- load sandbox versions of Configuration and Whitelist and ...
whitelist = mw.loadData('Módulo:Citas/Whitelist/pruebas' );
dates = require ('Módulo:Citas/ValidaciónFechas/pruebas').dates -- ... sandbox version of date validation code
else -- otherwise
cfg = mw.loadData('Módulo:Citas/Configuración' ); -- load live versions of Configuration and Whitelist and ...
whitelist = mw.loadData('Módulo:Citas/Whitelist' );
dates = require ('Módulo:Citas/ValidaciónFechas').dates -- ... live version of date validation code
end
local args = {};
local suggestions = {};
local error_text, error_state;
local config = {};
for k, v in pairs( frame.args ) do
config[k] = v;
args[k] = v;
end
for k, v in pairs( pframe.args ) do
if v ~= '' then
if not validate( k ) then
error_text = "";
if type( k ) ~= 'string' then
-- Exclude empty numbered parameters
if v:match("%S+") ~= nil then
error_text, error_state = seterror( 'text_ignored', {v}, true );
end
elseif validate( k:lower() ) then
error_text, error_state = seterror( 'parameter_ignored_suggest', {k, k:lower()}, true );
else
if #suggestions == 0 then
suggestions = mw.loadData( 'Módulo:Citas/Sugerencias' );
end
if suggestions[ k:lower() ] ~= nil then
error_text, error_state = seterror( 'parameter_ignored_suggest', {k, suggestions[ k:lower() ]}, true );
elseif cfg.parametros_a_implementar[k:lower()] then
error_text, error_state = seterror( 'parametro_por_implementar', {k}, true );
else
error_text, error_state = seterror( 'parameter_ignored', {k}, true );
end
end
if error_text ~= '' then
table.insert( z.message_tail, {error_text, error_state} );
end
end
args[k] = v;
elseif args[k] ~= nil or (k == 'postscript') then
args[k] = v;
end
end
return citation0( config, args)
end
return z
4f84efb6694d85e77d9e4e2599094c76e8432070
Plantilla:Resultados electorales
10
87
172
2023-04-30T09:53:20Z
Media Wiki>Banderas
0
Amplío a 21 candidaturas, necesario en [[Elecciones municipales de 2023 en Madrid]], por ej.
wikitext
text/x-wiki
<includeonly>{| class="wikitable {{#switch:{{lc:{{{ordenable|sí}}}}}|si|sí=sortable}}" style="margin: auto; text-align: center;"
{{#if:{{{título|}}}|
{{!}}+ {{{título}}}
{{!}}-
}}
! colspan="4" style="padding: 0; width: 200px; {{#switch:{{lc:{{{ordenable|sí}}}}}|si|sí=padding-right: 4px; width: 200px;}}" | {{{elección|}}}
! colspan="{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no|2|3}}" style="padding: 0; width: 100px; {{#switch:{{lc:{{{ordenable|sí}}}}}|si|sí=padding-right: 4px; width: 100px;}}" | {{{vuelta|}}}
|-
{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|
! colspan="4" {{!}} {{{título_partidos|Partido/Coalición}}}
|
! colspan="3" {{!}} {{{título_nombres|Candidato}}}
! {{{título_partidos|Partido/Coalición}}}
}}
! Votos
! Porcentaje
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
! {{{título_escaños|Escaños}}}
}}
|-
{{#if: {{{color1|}}}{{{imagen1|}}}{{{nombre1|}}}{{{partido1|}}}{{{votos1|}}}{{{porcentaje1|}}} |
{{!}} {{#if: {{{color1|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color1|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido1|}}}|{{{nombre1|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen1|}}} | [[Archivo:{{{imagen1|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre1|}}} | {{{nombre1|}}} | —}} {{!!}} }} {{#if: {{{partido1|}}} | {{{partido1|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos1|}}} | {{{votos1|}}} | —}}
{{!}} {{#if: {{{porcentaje1|}}} | {{barra de porcentaje|{{{porcentaje1|0.00}}}|c={{{color1|#C5000B}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños1|}}} | {{Ficha de partido político/escaños|hex={{{color1|#C5000B}}}|{{{escaños1|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color2|}}}{{{imagen2|}}}{{{nombre2|}}}{{{partido2|}}}{{{votos2|}}}{{{porcentaje2|}}} |
{{!}} {{#if: {{{color2|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color2|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido2|}}}|{{{nombre2|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen2|}}} | [[Archivo:{{{imagen2|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre2|}}} | {{{nombre2|}}} | —}} {{!!}} }} {{#if: {{{partido2|}}} | {{{partido2|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos2|}}} | {{{votos2|}}} | —}}
{{!}} {{#if: {{{porcentaje2|}}} | {{barra de porcentaje|{{{porcentaje2|0.00}}}|c={{{color2|#0084D1}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños2|}}} | {{Ficha de partido político/escaños|hex={{{color2|#0084D1}}}|{{{escaños2|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color3|}}}{{{imagen3|}}}{{{nombre3|}}}{{{partido3|}}}{{{votos3|}}}{{{porcentaje3|}}} |
{{!}} {{#if: {{{color3|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color3|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido3|}}}|{{{nombre3|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen3|}}} | [[Archivo:{{{imagen3|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre3|}}} | {{{nombre3|}}} | —}} {{!!}} }} {{#if: {{{partido3|}}} | {{{partido3|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos3|}}} | {{{votos3|}}} | —}}
{{!}} {{#if: {{{porcentaje3|}}} | {{barra de porcentaje|{{{porcentaje3|0.00}}}|c={{{color3|#579D1C}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños3|}}} | {{Ficha de partido político/escaños|hex={{{color3|#579D1C}}}|{{{escaños3|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color4|}}}{{{imagen4|}}}{{{nombre4|}}}{{{partido4|}}}{{{votos4|}}}{{{porcentaje4|}}} |
{{!}} {{#if: {{{color4|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color4|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido4|}}}|{{{nombre4|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen4|}}} | [[Archivo:{{{imagen4|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre4|}}} | {{{nombre4|}}} | —}} {{!!}} }} {{#if: {{{partido4|}}} | {{{partido4|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos4|}}} | {{{votos4|}}} | —}}
{{!}} {{#if: {{{porcentaje4|}}} | {{barra de porcentaje|{{{porcentaje4|0.00}}}|c={{{color4|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños4|}}} | {{Ficha de partido político/escaños|hex={{{color4|#FFD320}}}|{{{escaños4|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color5|}}}{{{imagen5|}}}{{{nombre5|}}}{{{partido5|}}}{{{votos5|}}}{{{porcentaje5|}}} |
{{!}} {{#if: {{{color5|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color5|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido5|}}}|{{{nombre5|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen5|}}} | [[Archivo:{{{imagen5|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre5|}}} | {{{nombre5|}}} | —}} {{!!}} }} {{#if: {{{partido5|}}} | {{{partido5|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos5|}}} | {{{votos5|}}} | —}}
{{!}} {{#if: {{{porcentaje5|}}} | {{barra de porcentaje|{{{porcentaje5|0.00}}}|c={{{color5|#83CAFF}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños5|}}} | {{Ficha de partido político/escaños|hex={{{color5|#83CAFF}}}|{{{escaños5|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color6|}}}{{{imagen6|}}}{{{nombre6|}}}{{{partido6|}}}{{{votos6|}}}{{{porcentaje6|}}} |
{{!}} {{#if: {{{color6|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color6|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido6|}}}|{{{nombre6|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen6|}}} | [[Archivo:{{{imagen6|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre6|}}} | {{{nombre6|}}} | —}} {{!!}} }} {{#if: {{{partido6|}}} | {{{partido6|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos6|}}} | {{{votos6|}}} | —}}
{{!}} {{#if: {{{porcentaje6|}}} | {{barra de porcentaje|{{{porcentaje6|0.00}}}|c={{{color6|#4B1F6F}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños6|}}} | {{Ficha de partido político/escaños|hex={{{color6|#4B1F6F}}}|{{{escaños6|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color7|}}}{{{imagen7|}}}{{{nombre7|}}}{{{partido7|}}}{{{votos7|}}}{{{porcentaje7|}}} |
{{!}} {{#if: {{{color7|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color7|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido7|}}}|{{{nombre7|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen7|}}} | [[Archivo:{{{imagen7|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre7|}}} | {{{nombre7|}}} | —}} {{!!}} }} {{#if: {{{partido7|}}} | {{{partido7|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos7|}}} | {{{votos7|}}} | —}}
{{!}} {{#if: {{{porcentaje7|}}} | {{barra de porcentaje|{{{porcentaje7|0.00}}}|c={{{color7|#FF950E}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños7|}}} | {{Ficha de partido político/escaños|hex={{{color7|#FF950E}}}|{{{escaños7|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color8|}}}{{{imagen8|}}}{{{nombre8|}}}{{{partido8|}}}{{{votos8|}}}{{{porcentaje8|}}} |
{{!}} {{#if: {{{color8|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color8|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido8|}}}|{{{nombre8|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen8|}}} | [[Archivo:{{{imagen8|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre8|}}} | {{{nombre8|}}} | —}} {{!!}} }} {{#if: {{{partido8|}}} | {{{partido8|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos8|}}} | {{{votos8|}}} | —}}
{{!}} {{#if: {{{porcentaje8|}}} | {{barra de porcentaje|{{{porcentaje8|0.00}}}|c={{{color8|#004587}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños8|}}} | {{Ficha de partido político/escaños|hex={{{color8|#004587}}}|{{{escaños8|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color9|}}}{{{imagen9|}}}{{{nombre9|}}}{{{partido9|}}}{{{votos9|}}}{{{porcentaje9|}}} |
{{!}} {{#if: {{{color9|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color9|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido9|}}}|{{{nombre9|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen9|}}} | [[Archivo:{{{imagen9|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre9|}}} | {{{nombre9|}}} | —}} {{!!}} }} {{#if: {{{partido9|}}} | {{{partido9|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos9|}}} | {{{votos9|}}} | —}}
{{!}} {{#if: {{{porcentaje9|}}} | {{barra de porcentaje|{{{porcentaje9|0.00}}}|c={{{color9|#7E0021}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños9|}}} | {{Ficha de partido político/escaños|hex={{{color9|#7E0021}}}|{{{escaños9|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color10|}}}{{{imagen10|}}}{{{nombre10|}}}{{{partido10|}}}{{{votos10|}}}{{{porcentaje10|}}} |
{{!}} {{#if: {{{color10|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color10|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido10|}}}|{{{nombre10|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen10|}}} | [[Archivo:{{{imagen10|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre10|}}} | {{{nombre10|}}} | —}} {{!!}} }} {{#if: {{{partido10|}}} | {{{partido10|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos10|}}} | {{{votos10|}}} | —}}
{{!}} {{#if: {{{porcentaje10|}}} | {{barra de porcentaje|{{{porcentaje10|0.00}}}|c={{{color10|#314004}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños10|}}} | {{Ficha de partido político/escaños|hex={{{color10|#314004}}}|{{{escaños10|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color11|}}}{{{imagen11|}}}{{{nombre11|}}}{{{partido11|}}}{{{votos11|}}}{{{porcentaje11|}}} |
{{!}} {{#if: {{{color11|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color11|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido11|}}}|{{{nombre11|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen11|}}} | [[Archivo:{{{imagen11|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre11|}}} | {{{nombre11|}}} | —}} {{!!}} }} {{#if: {{{partido11|}}} | {{{partido11|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos11|}}} | {{{votos11|}}} | —}}
{{!}} {{#if: {{{porcentaje11|}}} | {{barra de porcentaje|{{{porcentaje11|0.00}}}|c={{{color11|#C5000B}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños11|}}} | {{Ficha de partido político/escaños|hex={{{color11|#C5000B}}}|{{{escaños11|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color12|}}}{{{imagen12|}}}{{{nombre12|}}}{{{partido12|}}}{{{votos12|}}}{{{porcentaje12|}}} |
{{!}} {{#if: {{{color12|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color12|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido12|}}}|{{{nombre12|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen12|}}} | [[Archivo:{{{imagen12|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre12|}}} | {{{nombre12|}}} | —}} {{!!}} }} {{#if: {{{partido12|}}} | {{{partido12|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos12|}}} | {{{votos12|}}} | —}}
{{!}} {{#if: {{{porcentaje12|}}} | {{barra de porcentaje|{{{porcentaje12|0.00}}}|c={{{color12|#0084D1}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños12|}}} | {{Ficha de partido político/escaños|hex={{{color12|#0084D1}}}|{{{escaños12|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color13|}}}{{{imagen13|}}}{{{nombre13|}}}{{{partido13|}}}{{{votos13|}}}{{{porcentaje13|}}} |
{{!}} {{#if: {{{color13|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color13|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido13|}}}|{{{nombre13|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen13|}}} | [[Archivo:{{{imagen13|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre13|}}} | {{{nombre13|}}} | —}} {{!!}} }} {{#if: {{{partido13|}}} | {{{partido13|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos13|}}} | {{{votos13|}}} | —}}
{{!}} {{#if: {{{porcentaje13|}}} | {{barra de porcentaje|{{{porcentaje13|0.00}}}|c={{{color13|#579D1C}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños13|}}} | {{Ficha de partido político/escaños|hex={{{color13|#579D1C}}}|{{{escaños13|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color14|}}}{{{imagen14|}}}{{{nombre14|}}}{{{partido14|}}}{{{votos14|}}}{{{porcentaje14|}}} |
{{!}} {{#if: {{{color14|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color14|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido14|}}}|{{{nombre14|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen14|}}} | [[Archivo:{{{imagen14|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre14|}}} | {{{nombre14|}}} | —}} {{!!}} }} {{#if: {{{partido14|}}} | {{{partido14|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos14|}}} | {{{votos14|}}} | —}}
{{!}} {{#if: {{{porcentaje14|}}} | {{barra de porcentaje|{{{porcentaje14|0.00}}}|c={{{color14|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños14|}}} | {{Ficha de partido político/escaños|hex={{{color14|#FFD320}}}|{{{escaños14|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color15|}}}{{{imagen15|}}}{{{nombre15|}}}{{{partido15|}}}{{{votos15|}}}{{{porcentaje15|}}} |
{{!}} {{#if: {{{color15|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color15|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido15|}}}|{{{nombre15|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen15|}}} | [[Archivo:{{{imagen15|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre15|}}} | {{{nombre15|}}} | —}} {{!!}} }} {{#if: {{{partido15|}}} | {{{partido15|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos15|}}} | {{{votos15|}}} | —}}
{{!}} {{#if: {{{porcentaje15|}}} | {{barra de porcentaje|{{{porcentaje15|0.00}}}|c={{{color15|#83CAFF}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños15|}}} | {{Ficha de partido político/escaños|hex={{{color15|#83CAFF}}}|{{{escaños15|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
{{#if: {{{color16|}}}{{{imagen16|}}}{{{nombre16|}}}{{{partido16|}}}{{{votos16|}}}{{{porcentaje16|}}} |
{{!}} {{#if: {{{color16|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color16|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido16|}}}|{{{nombre16|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen16|}}} | [[Archivo:{{{imagen16|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre16|}}} | {{{nombre16|}}} | —}} {{!!}} }} {{#if: {{{partido16|}}} | {{{partido16|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos16|}}} | {{{votos16|}}} | —}}
{{!}} {{#if: {{{porcentaje16|}}} | {{barra de porcentaje|{{{porcentaje16|0.00}}}|c={{{color16|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños16|}}} | {{Ficha de partido político/escaños|hex={{{color16|#FFD320}}}|{{{escaños16|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color17|}}}{{{imagen17|}}}{{{nombre17|}}}{{{partido17|}}}{{{votos17|}}}{{{porcentaje17|}}} |
{{!}} {{#if: {{{color17|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color17|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido17|}}}|{{{nombre17|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen17|}}} | [[Archivo:{{{imagen17|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre17|}}} | {{{nombre17|}}} | —}} {{!!}} }} {{#if: {{{partido17|}}} | {{{partido17|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos17|}}} | {{{votos17|}}} | —}}
{{!}} {{#if: {{{porcentaje17|}}} | {{barra de porcentaje|{{{porcentaje17|0.00}}}|c={{{color17|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños17|}}} | {{Ficha de partido político/escaños|hex={{{color17|#FFD320}}}|{{{escaños17|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color18|}}}{{{imagen18|}}}{{{nombre18|}}}{{{partido18|}}}{{{votos18|}}}{{{porcentaje18|}}} |
{{!}} {{#if: {{{color18|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color18|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido18|}}}|{{{nombre18|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen18|}}} | [[Archivo:{{{imagen18|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre18|}}} | {{{nombre18|}}} | —}} {{!!}} }} {{#if: {{{partido18|}}} | {{{partido18|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos18|}}} | {{{votos18|}}} | —}}
{{!}} {{#if: {{{porcentaje18|}}} | {{barra de porcentaje|{{{porcentaje18|0.00}}}|c={{{color18|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños18|}}} | {{Ficha de partido político/escaños|hex={{{color18|#FFD320}}}|{{{escaños18|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color19|}}}{{{imagen19|}}}{{{nombre19|}}}{{{partido19|}}}{{{votos19|}}}{{{porcentaje19|}}} |
{{!}} {{#if: {{{color19|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color19|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido19|}}}|{{{nombre19|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen19|}}} | [[Archivo:{{{imagen19|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre19|}}} | {{{nombre19|}}} | —}} {{!!}} }} {{#if: {{{partido19|}}} | {{{partido19|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos19|}}} | {{{votos19|}}} | —}}
{{!}} {{#if: {{{porcentaje19|}}} | {{barra de porcentaje|{{{porcentaje19|0.00}}}|c={{{color19|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños19|}}} | {{Ficha de partido político/escaños|hex={{{color19|#FFD320}}}|{{{escaños19|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color20|}}}{{{imagen20|}}}{{{nombre20|}}}{{{partido20|}}}{{{votos20|}}}{{{porcentaje20|}}} |
{{!}} {{#if: {{{color20|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color20|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido20|}}}|{{{nombre20|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen20|}}} | [[Archivo:{{{imagen20|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre20|}}} | {{{nombre20|}}} | —}} {{!!}} }} {{#if: {{{partido20|}}} | {{{partido20|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos20|}}} | {{{votos20|}}} | —}}
{{!}} {{#if: {{{porcentaje20|}}} | {{barra de porcentaje|{{{porcentaje20|0.00}}}|c={{{color20|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños20|}}} | {{Ficha de partido político/escaños|hex={{{color20|#FFD320}}}|{{{escaños20|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color21|}}}{{{imagen21|}}}{{{nombre21|}}}{{{partido21|}}}{{{votos21|}}}{{{porcentaje21|}}} |
{{!}} {{#if: {{{color21|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color21|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido21|}}}|{{{nombre21|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen21|}}} | [[Archivo:{{{imagen21|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre21|}}} | {{{nombre21|}}} | —}} {{!!}} }} {{#if: {{{partido21|}}} | {{{partido21|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos21|}}} | {{{votos21|}}} | —}}
{{!}} {{#if: {{{porcentaje21|}}} | {{barra de porcentaje|{{{porcentaje21|0.00}}}|c={{{color21|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños21|}}} | {{Ficha de partido político/escaños|hex={{{color21|#FFD320}}}|{{{escaños21|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
}}
|- style="line-height: 1em;"
! colspan="4" style="font-size: small;" | Total de votos válidos
! style="font-weight: normal; text-align: right;" | {{{votos_válidos|}}}
! style="font-weight: normal;" | {{#if: {{{porcentaje_votos_válidos|}}} | {{barra de porcentaje|{{{porcentaje_votos_válidos|}}}||C0C0C0}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
! {{{escaños_totales|}}}
{{!}}-
}}
{{!}}-
{{#if: {{{votos_nulos|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small; " {{!}} Votos nulos
! style="font-weight: normal; text-align: right;" {{!}} {{{votos_nulos|}}}
! style="font-weight: normal;" {{!}} {{#if: {{{porcentaje_votos_nulos|}}} | {{barra de porcentaje|{{{porcentaje_votos_nulos|}}}||C0C0C0}} | —}}
{{!}}-
}}
{{!}}-
{{#if: {{{candiaturas_no_registradas|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small; " {{!}} Candidaturas no registradas
! style="font-weight: normal; text-align: right;" {{!}} {{{candidaturas_no_registradas|}}}
! style="font-weight: normal;" {{!}} {{#if: {{{porcentaje_candidaturas_no_registradas|}}} | {{barra de porcentaje|{{{candidaturas_votos_no_registradas|}}}||C0C0C0}} | —}}
{{!}}-
}}
{{#if: {{{votos_en_blanco|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small;" {{!}} Votos en blanco
! style="font-weight: normal; text-align: right;" {{!}} {{{votos_en_blanco|}}}
! style="font-weight: normal;" {{!}} {{#if: {{{porcentaje_votos_en_blanco|}}} | {{barra de porcentaje|{{{porcentaje_votos_en_blanco|}}}||C0C0C0}} | —}}
{{!}}-
}}
{{#if: {{{votos_emitidos|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small;" {{!}} Total de votos emitidos (participación)
! style="text-align: right;" {{!}} {{{votos_emitidos|}}}
! {{#if: {{{porcentaje_participación|}}} | {{barra de porcentaje|{{{porcentaje_participación|}}}||808080}} | —}}
{{!}}-
}}
{{#if: {{{abstención|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small;" {{!}} Abstención
! style="text-align: right;" {{!}} {{{abstención|}}}
! {{#if: {{{porcentaje_abstención|}}} | {{barra de porcentaje|{{{porcentaje_abstención|}}}||808080}} | —}}
{{!}}-
}}
{{#if: {{{inscritos|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" {{!}} Habitantes inscritos
! style="text-align: right; border-right: none;" {{!}} {{{inscritos|}}}
! style="border-left: none;" {{!}}
{{!}}-
}}
{{#if: {{{población|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" {{!}} Población
! style="text-align: right; border-right: none;" {{!}} {{{población|}}}
! style="border-left: none;" {{!}}
{{!}}-
}}
{{#if: {{{anotaciones|}}} |
{{!}}-
! colspan="6" {{!}} {{{anotaciones|}}}
}}
{{#if: {{{fuente|}}} |
{{!}}-
! colspan="6" {{!}} {{{fuente|}}}
}}
|}</includeonly><noinclude>
{{documentación}}</noinclude>
ed0f46a04ba05e46473e769a6e59d54147689fab
Plantilla:Recortar imagen
10
84
166
2023-05-28T15:00:26Z
Media Wiki>BrookTheHumming
0
wikitext
text/x-wiki
<includeonly><div class="{{#if:{{{Description|{{{descripción|}}}}}}|thumb <!--
-->{{#switch:{{{Location|{{{alinear|}}}}}}
| no | none | tnone = tnone
| izquierda | left | tleft = tleft
| derecha | right | tright = tright
| centro | center = center
| #default = tright }}|<!-- if no description:
-->{{#switch:{{{Location|{{{alinear|}}}}}}
| no | none = floatnone
| izquierda | left = floatleft
| derecha | right = floatright
| centro | center = center }}}}">
{{#if:{{{Description|{{{descripción|}}}}}}|<div class="thumbinner" style="width: {{{cWidth|{{{ancho de corte}}}}}}px;">}}
<div style="width: {{{cWidth|{{{ancho de corte}}}}}}px; height: {{{cHeight|{{{alto de corte}}}}}}px; overflow: hidden;">
<div style="position: relative; top: -{{{oTop|{{{píxeles abajo|0|}}}}}}px; left: -{{{oLeft|{{{píxeles izquierda|0|}}}}}}px; width: {{{bSize|{{{tamaño base}}}}}}px"><!--
-->[[File:{{{imagen|{{{Imagen}}}}}}|{{{bSize|{{{tamaño base}}}}}}px|alt={{{Alt|{{{texto alternativo|{{{Description|{{{descripción}}}|{{{imagen|{{{Imagen}}}}}}}}}}}}{{#if:{{{Link|{{{enlace|}}}}}}|{{!}}link={{{Link|{{{enlace}}}}}}}}{{#if:{{{Page|{{{página|}}}}}}|{{!}}page={{{Page|{{{página}}}}}}}}]]<!--
--></div>
{{#if:{{{Description|{{{descripción|}}}}}}|</div>
<div class="thumbcaption">
<div class="magnify">[[:{{#if:{{{magnify-link|}}}|{{{magnify-link}}}|File:{{{imagen|{{{Imagen}}}}}}}}]]</div>{{{Description|{{{descripción}}}}}}
</div>}}</div></div><!-- {{#ifeq:1|{{ifnumber|{{{cWidth|}}}{{{cHeight|}}}{{{oTop|}}}{{{oLeft|}}}{{{bSize|}}}}}||[[Category:CSS image crop using invalid parameters]]}} --></includeonly><noinclude>{{documentation}}</noinclude>
6b7008671e1f1d6abf14d019d7088fda0918892f
Plantilla:Bandera
10
66
130
2023-07-13T00:09:50Z
Media Wiki>-jem-
0
Cambió la configuración de protección de «[[Plantilla:Bandera]]»: Plantilla muy utilizada ([Editar=Permitir solo editores de plantillas y bibliotecarios] (indefinido) [Trasladar=Permitir solo editores de plantillas y bibliotecarios] (indefinido))
wikitext
text/x-wiki
{{Geodatos {{{1|<noinclude>?</noinclude>}}}
| {{#switch:{{{desc|}}}|no=bandera icono-nodesc|#default=bandera icono}}
| variante = {{{variante|{{{2|}}}}}}
| tamaño = {{{tamaño|}}}
}}<noinclude>{{documentación}}</noinclude>
55628036d27174d1be1b5a63ac0d2d3cf11f427c
Módulo:Control de autoridades
828
58
114
2023-11-18T13:19:33Z
Media Wiki>Leoncastro
0
Scribunto
text/plain
require('Módulo:No globals')
local function cleanLink ( link, style )
-- similar to mw.uri.encode
local wikiLink = link
if style == 'PATH' then
wikiLink = mw.ustring.gsub( wikiLink, ' ', '%%%%20' )
elseif style == 'WIKI' then
wikiLink = mw.ustring.gsub( wikiLink, ' ', '_' )
wikiLink = mw.ustring.gsub( wikiLink, '?', '%%%%3F')
else -- if style == 'QUERY' then -- default
wikiLink = mw.ustring.gsub( wikiLink, ' ', '+' )
end
wikiLink = mw.ustring.gsub( wikiLink, '%[', '%%5B' )
wikiLink = mw.ustring.gsub( wikiLink, '%]', '%%5D' )
wikiLink = mw.ustring.gsub( wikiLink, '%"', '%%%%22' )
return wikiLink
end
local function generic ( id, link, parameter )
local idlink = cleanLink( id, 'PATH' )
link = mw.ustring.gsub( link, '$1', idlink )
return '[' .. link .. ' ' .. id .. ']'
end
local function noLink ( id, link, parameter )
-- evita generar un enlace externo junto con el identificador
return id
end
local function bncLink ( id, link, parameter )
-- filtro local del BNC, para evadir multitud de identificadores de Wikidata que no se enlazan adecuadamente
-- véase https://www.wikidata.org/wiki/Wikidata:Database_reports/Constraint_violations/P1890#%22Format%22_violations
if ( string.match( id, '^%d%d%d%d%d%d%d%d%d$' ) ) then
return generic ( id, link, parameter )
end
return false
end
local function bnfLink ( id, link, parameter )
-- representación local del BNF, con doble enlace
return generic( id, link, parameter ) .. ' [http://data.bnf.fr/ark:/12148/cb' .. id .. ' (data)]'
end
local function icd11Link ( id, link, parameter )
-- la propiedad P7329 no genera un enlace externo, así que se usarán los valores de P7807 cuando esté definida
local foundation = getIdsFromWikidata(mw.wikibase.getEntityIdForCurrentPage(), 'P7807')
if foundation and foundation[1] then
link = 'https://icd.who.int/browse11/l-m/en#/http://id.who.int/icd/entity/$1'
link = link:gsub('$1', foundation[1])
return generic(id, link, parameter)
else
return id
end
end
local function ineLink ( id, link, parameter )
-- representación especial del INE, enlace no estándar con cinco parámetros utilizados
local ineMainRE, ineTailRE = '^(%d%d)(%d%d%d)', '(%d%d)(%d%d)(%d%d)'
local codProv, codMuni, codEC, codES, codNUC = string.match( id, ineMainRE .. ineTailRE .. '$' )
if not codEC or not codES or not codNUC then
codProv, codMuni = string.match( id, ineMainRE .. '$' )
if codProv and codMuni then
codEC, codES, codNUC = '00', '00', '00'
else
codProv, codMuni = string.match( id, ineMainRE )
codEC, codES, codNUC = '', '', ''
end
end
if codProv and codMuni then
link = 'http://www.ine.es/nomen2/inicio_a.do?accion=busquedaAvanzada&inicio=inicio_a&subaccion=&botonBusquedaAvanzada=Consultar+selecci%C3%B3n&numPag=0&ordenAnios=ASC&comunidad=00&entidad_amb=no&poblacion_amb=T&poblacion_op=%3D&poblacion_txt=&denominacion_op=like&denominacion_txt=&codProv=$1&codMuni=$2&codEC=$3&codES=$4&codNUC=$5'
link = link:gsub('$1', codProv):gsub('$2', codMuni):gsub('$3', codEC):gsub('$4', codES):gsub('$5', codNUC)
return generic( id, link, parameter )
end
return id
end
local function commonscat ( id, link, parameter )
-- representación especial del enlace a las categorías de Commons, para mantener el formato de enlace interwiki
local idlink = cleanLink( id, 'WIKI' )
link = mw.ustring.gsub( link, '$1', idlink )
return '<span class="plainlinks">[' .. link .. ' ' .. id .. ']</span>'
end
local function sisterprojects ( id, link, parameter )
-- enlaces interproyecto
local prefix = {
-- Ejemplo: -- enwiki = 'w:en',
commonswiki = 'c',
eswikivoyage = 'voy',
eswiktionary = 'wikt',
eswikibooks = 'b',
eswikinews = 'n',
eswikiversity = 'v',
eswikiquote = 'q',
eswikisource = 's',
mediawikiwiki = 'mw',
metawiki = 'm',
specieswiki = 'species',
}
if prefix[ parameter ] then
return '[['..prefix[ parameter ]..':'..id..'|'..id..']]'
end
return false
end
function getCommonsValue ( itemId )
local commonslink = ''
local categories = ''
local property = getIdsFromWikidata( itemId, 'P373' )
if property and property[1] then
property = property[1]
commonslink = commonslink .. getLink( 373, property, commonscat )
else
property = ''
end
local sitelink = getIdsFromSitelinks( itemId, 'commonswiki' )
if sitelink and sitelink[1] then
sitelink = sitelink[1]
if sitelink ~= 'Category:' .. property then
if commonslink == '' then
commonslink = commonslink .. sisterprojects( sitelink, nil, 'commonswiki' )
end
end
else
sitelink = ''
end
if property and sitelink then
if sitelink ~= 'Category:' .. property then
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades con enlaces diferentes de Commons]]'
end
elseif sitelink then -- not property
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades sin Commonscat]]'
elseif property then -- not sitelink
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades sin Commons]]'
else -- not property and not sitelink
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades sin ningún enlace de Commons]]'
end
if commonslink ~= '' then
-- Special:MediaSearch
local mediasearch = 'https://commons.wikimedia.org/wiki/Special:MediaSearch?type=image&search=%22$1%22'
commonslink = commonslink .. ' / ' .. commonscat( itemId, mediasearch )
return { commonslink .. categories }
end
return {}
end
local conf = {}
--In this order: name of the parameter, label, propertyId in Wikidata, formatting function, category id
-- -- name of the parameter: unique name
-- -- label: internal link in wiki format
-- -- propertyId in Wikidata: number without 'P' suffix
-- -- formatting function: one of these four options
-- -- -- local function (like 'generic')
-- -- -- string 'y' (yes), to show a default identifier 'ID'
-- -- -- string 'n' (no), to show the real identifier
-- -- -- any other string, to show this string as identifier ('id', 'url', 'link', ...)
-- -- category id: one of these tree options
-- -- -- number 0, to not add category
-- -- -- number 1, to add a category based on the name of the parameter
-- -- -- any string, to add a category based on this string
conf.databases = {}
conf.databases[1] = {}
conf.databases[1].name = '[[Control de autoridades]]'
conf.databases[1].list = {
{
title = 'Proyectos Wikimedia',
group = {
{ 'Wikidata', '[[Archivo:Wikidata-logo.svg|20px|link=Wikidata|alt=Wd|Wikidata]] Datos', 'Wikidata:$1', 'n', 0 },
{ 'Commons', '[[Archivo:Commons-logo.svg|15px|link=Wikimedia Commons|alt=Commonscat|Commonscat]] Multimedia', getCommonsValue, 'n', 0 },
{ 'Wikivoyage', '[[Archivo:Wikivoyage-logo.svg|15px|link=Wikiviajes|alt=Wikivoyage|Wikivoyage]] Guía turística', 'eswikivoyage', sisterprojects, 0 },
{ 'Wiktionary', '[[Archivo:Wiktionary-logo.svg|15px|link=Wikcionario|alt=Wiktionary|Wiktionary]] Diccionario', 'eswiktionary', sisterprojects, 0 },
{ 'Wikibooks', '[[Archivo:Wikibooks-logo.svg|15px|link=Wikilibros|alt=Wikibooks|Wikibooks]] Libros y manuales', 'eswikibooks', sisterprojects, 0 },
{ 'Wikinews', '[[Archivo:Wikinews-logo.svg|20px|link=Wikinoticias|alt=Wikinews|Wikinews]] Noticias', 'eswikinews', sisterprojects, 0 },
{ 'Wikiversity', '[[Archivo:Wikiversity-logo.svg|15px|link=Wikiversidad|alt=Wikiversity|Wikiversity]] Recursos didácticos', 'eswikiversity', sisterprojects, 0 },
{ 'Wikiquote', '[[Archivo:Wikiquote-logo.svg|15px|link=Wikiquote|alt=Wikiquote|Wikiquote]] Citas célebres', 'eswikiquote', sisterprojects, 0 },
{ 'Wikisource', '[[Archivo:Wikisource-logo.svg|15px|link=Wikisource|alt=Wikisource|Wikisource]] Textos', 'eswikisource', sisterprojects, 0 },
{ 'MediaWiki', '[[Archivo:MediaWiki-2020-icon.svg|20px|link=MediaWiki|alt=MediaWiki|MediaWiki]] MediaWiki', 'mediawikiwiki', sisterprojects, 0 },
{ 'Meta-Wiki', '[[Archivo:Wikimedia Community Logo.svg|15px|link=Wikimedia Meta-Wiki|alt=Meta-Wiki|Meta-Wiki]] Coordinación', 'metawiki', sisterprojects, 0 },
{ 'Wikispecies', '[[Archivo:Wikispecies-logo.svg|15px|link=Wikispecies|alt=Wikispecies|Wikispecies]] Especies', 'specieswiki', sisterprojects, 0 },
},
},
{
title = 'Identificadores',
group = {
{ 'ISSN', '[[ISSN]]', 236, 'n', 1 },
{ 'VIAF', '[[Fichero de Autoridades Virtual Internacional|VIAF]]', 214, 'n', 1 },
{ 'ISNI', '[[International Standard Name Identifier|ISNI]]', 213, 'n', 1 },
{ 'BCN', '[[Biblioteca del Congreso de la Nación Argentina|BCN]]', 2879, 'n', 1 },
{ 'BNA', '[[Biblioteca Nacional de la República Argentina|BNA]]', 3788, 'n', 1 },
{ 'BNE', '[[Biblioteca Nacional de España|BNE]]', 950, 'n', 1 },
{ 'BNF', '[[Biblioteca Nacional de Francia|BNF]]', 268, bnfLink, 1 },
{ 'BNM', '[[Biblioteca Nacional de México|BNM]]', 4440, 'n', 1 },
{ 'BNC', '[[Biblioteca Nacional de Chile|BNC]]', 1890, bncLink, 1 },
{ 'CANTIC', '[[Biblioteca de Cataluña|CANTIC]]', 9984, 'n', 1 },
{ 'GND', '[[Gemeinsame Normdatei|GND]]', 227, 'n', 1 },
{ 'LCCN', '[[Library of Congress Control Number|LCCN]]', 244, 'n', 1 },
{ 'NCL', '[[Biblioteca central de Taiwán|NCL]]', 1048, 'n', 0 },
{ 'NDL', '[[Biblioteca Nacional de la Dieta|NDL]]', 349, 'n', 0 },
{ 'NKC', '[[Biblioteca Nacional de la República Checa|NKC]]', 691, 'n', 0 },
{ 'NLA', '[[Biblioteca Nacional de Australia|NLA]]', 409, 'n', 1 },
{ 'RLS', '[[Biblioteca del Estado Ruso|BER]]', 947, 'n', 0 },
{ 'J9U', '[[Biblioteca Nacional de Israel|NLI]]', 8189, 'n', 0 },
{ 'CINII', '[[CiNii]]', 271, 'n', 0 },
{ 'NARA', '[[National Archives and Records Administration|NARA]]', 1225, 'n', 0 },
{ 'LCCNLCOC', '[[Library of Congress Control Number|LCCN]]', 1144, 'n', 0 },
{ 'SNAC', '[[d:Q29861311|SNAC]]', 3430, 'n', 1 },
{ 'S2', '[[:d:Q22908627|S2]]', 4012, 'n', 0 },
{ 'SUDOC', '[[Système universitaire de documentation|SUDOC]]', 269, 'n', 0 },
{ 'ULAN', '[[Union List of Artist Names|ULAN]]', 245, 'n', 1 },
{ 'frickSpain ', '[[Colección Frick|research.frick]]', 8572, 'n', 1 },
{ 'ORCID', '[[ORCID]]', 496, 'n', 1 },
{ 'Scopus', '[[Scopus]]', 1153, 'n', 1 },
-- { 'SELIBR', '[[LIBRIS|SELIBR]]', 906, 'n', 1 },
{ 'BIBSYS', '[[BIBSYS]]', 1015, 'n', 1 },
{ 'IPNIaut', '[[Índice Internacional de Nombres de las Plantas|IPNI]]', 586, 'n', 'IPNI' },
{ 'MGP', '[[Mathematics Genealogy Project|MGP]]', 549, 'n', 0 },
{ 'autores.uy', '[[autores.uy]]', 2558, 'n', 1 },
{ 'Slovenska biografija', '[[:d:Q15975890|Slovenska biografija]]', 1254, 'n', 0 },
{ 'SBN', '[[Istituto Centrale per il Catalogo Unico|ICCU]]', 396, 'n', 1 },
{ 'ARAE', '[[:d:Q105580684|ARAE]]', 9226, 'n', 1 },
{ 'DeutscheBiographie', '[[Deutsche Biographie]]', 7902, 'n', 1 },
{ 'CCBAE', '[[:d:Q61505171|CCBAE]]', 6493, 'n', 1 },
-- { 'DIR3', '[[Directorio Común de Unidades Orgánicas y Oficinas|DIR3]]', 6222, 'n', 1 },
{ 'CensoGuia', '[[Censo-Guía de Archivos de España e Iberoamérica]]', 3998, 'n', 'Censo-Guía' },
{ 'Libraries.org', 'Libraries.org', 4848, 'n', 1 },
{ 'DirectorioMuseos', '[[:d:Q56246649|Directorio de Museos y Colecciones de España]]', 5763, 'n', 1 },
{ 'SUCA', 'SUCA', 5946, 'n', 1 },
{ 'BOE', '[[Boletín Oficial del Estado|BOE]]', 4256, 'n', 1 },
{ 'RoyalSociety', '[[Royal Society]]', 2070, 'url', 'Royal Society' },
{ 'HAW', '[[Academia de Ciencias y Humanidades de Heidelberg|HAW]]', 2273, 'n', 1 },
{ 'SAW', '[[Academia Sajona de Ciencias de Leipzig|SAW]]', 3411, 'n', 1 },
{ 'KNAW', '[[Real Academia de Artes y Ciencias de los Países Bajos|KNAW]]', 2454, 'n', 1 },
-- { 'KVAB', '[[Real Academia Flamenca de Ciencias y Artes de Bélgica|KVAB]]', 3887, 'n', 1 },
{ 'Leopoldina', '[[Deutsche Akademie der Naturforscher Leopoldina|Leopoldina]]', 3413, 'n', 1 },
{ 'CONICET', '[[CONICET]]', 3900, 'n', 1 },
{ 'Grierson', '[[Directorio de científicos argentinos Dra. Grierson|Grierson]]', 3946, 'n', 1 },
{ 'RANM', '[[Real Academia Nacional de Medicina|RANM]]', 3945, 'n', 1 },
-- { 'ANMF', '[[Académie Nationale de Médecine|ANMF]]', 3956, 'n', 1 },
{ 'Léonore', '[[Base Léonore|Léonore]]', 11152, 'n', 0 },
{ 'USCongress', '[[Biographical Directory of the United States Congress|US Congress]]', 1157, 'n', 0 },
{ 'BPN', '[[Biografisch Portaal|BPN]]', 651, 'n', 1 },
-- { 'ISCO', '[[d:Q1233766|ISCO]]', 952, 'n', 1 },
{ 'AAT', '[[Art & Architecture Thesaurus|AAT]]', 1014, 'n', 1 },
{ 'OpenLibrary', '[[Open Library]]', 648, 'n', 'Open Library' },
{ 'PARES', '[[PARES]]', 4813, 'n', 1 },
{ 'SSRN', '[[Social Science Research Network|SSRN]]', 3747, 'n', 'SSRN autor' },
{ 'SIKART', '[[SIKART]]', 781, 'n', 0 },
{ 'KULTURNAV', '[[KulturNav]]', 1248, 'id', 0 },
{ 'RKDartists', '[[Rijksbureau voor Kunsthistorische Documentatie|RKD]]', 650, 'n', 1 },
{ 'GoogleScholar', '[[Google Académico]]', 1960, 'n', 'Google Académico' },
-- { 'Microsoft Academic', '[[Microsoft Academic]]', 6366, 'n', 1 },
{ 'RID', '[[ResearcherID]]', 1053, 'n', 1 },
{ 'NLM', '[[Biblioteca Nacional de Medicina de los Estados Unidos|NLM]]', 1055, 'n', 1 },
{ 'Latindex', '[[Latindex]]', 3127, 'n', 1 },
{ 'ERIH PLUS', '[[ERIH PLUS]]', 3434, 'n', 1 },
{ 'IPNIpub', '[[Índice Internacional de Nombres de las Plantas|IPNI]]', 2008, 'n', 1 },
{ 'SUDOCcat', '[[Système universitaire de documentation|SUDOC]]', 1025, 'n', 'SUDOC catálogo' },
{ 'ZDB', '[[Zeitschriftendatenbank|ZDB]]', 1042, 'n', 1 },
{ 'NorwegianRegister', '[[Norsk senter for forskningsdata|Norwegian Register]]', 1270, 'n', 'Norwegian Register' },
{ 'DOAJ', '[[Directory of Open Access Journals|DOAJ]]', 5115, 'n', 1 },
{ 'ACNP', 'ACNP', 6981, 'n', 1 },
{ 'DipFedBra', '[[Cámara de Diputados de Brasil]]', 7480, 'n', 1 },
{ 'HCDN', '[[Cámara de Diputados de la Nación Argentina|Estadísticas HCDN]]', 4693, 'n', 1 },
{ 'HCDNbio', '[[Cámara de Diputados de la Nación Argentina|Biografía HCDN]]', 5225, 'n', 1 },
{ 'Directorio Legislativo', 'Directorio Legislativo', 6585, 'n', 0 },
-- { 'Legislatura CABA', '[[Legislatura de la Ciudad de Buenos Aires|Legislatura CABA]]', 4667, 'n', 1 },
{ 'Archivo Histórico de Diputados de España', '[[Congreso de los Diputados|Archivo Histórico de Diputados (1810-1977)]]', 9033, 'n', 1 },
{ 'Senadores de España (1834-1923)', '[[Senado de España|Senadores de España (1834-1923)]]', 10265, 'n', 1 },
{ 'Asamblea de Madrid', '[[Asamblea de Madrid]]', 4797, 'n', 1 },
{ 'BCNCL', '[[Biblioteca del Congreso Nacional de Chile|Biografías BCN]]', 5442, 'url', 0 },
{ 'RBD', '[[Ministerio de Educación de Chile|RBD MINEDUC]]', 1919, 'n', 0 },
{ 'CineChile', 'CineChile', 6750, 'url', 0 },
{ 'Tebeosfera-autor', '[[Tebeosfera]]', 5562, 'n', 1 },
{ 'DPRR', 'DPRR', 6863, 'n', 0},
{ 'tribunsdelaplebe.fr', 'TDLP', 8961, 'n', 0},
{ 'Pleiades', 'Pleiades', 1584, 'n', 0},
{ 'IMO', '[[Organización Marítima Internacional|IMO]]', 458, 'n', 0},
{ 'Mnemosine', '[[Mnemosine. Biblioteca Digital de La otra Edad de Plata|Mnemosine]]', 10373, 'n', 0 },
{ 'Renacyt', '[[Registro Nacional Científico, Tecnológico y de Innovación Tecnológica|Renacyt]]', 10452, 'n', 0 },
{ 'MuseodeOrsayArtistas', '[[Museo de Orsay]]', 2268, 'n', 'Museo de Orsay (artista)' },
{ 'Thyssen-BornemiszaArtistas', '[[Museo Thyssen-Bornemisza|Thyssen-Bornemisza]]', 2431, 'n', 'Thyssen-Bornemisza (artista)' },
{ 'AWARE', '[[Archives of Women Artists, Research and Exhibitions|AWARE]]', 6637, 'url', 0 },
},
},
{
title = 'Diccionarios y enciclopedias',
group = {
{ 'Auñamendi', '[[Enciclopedia Auñamendi|Auñamendi]]', 3218, 'n', 1 },
-- { 'GEA', '[[Gran Enciclopedia Aragonesa|GEA]]', 1807, 'n', 1 },
{ 'GEN', '[[Gran Enciclopedia Navarra|GEN]]', 7388, 'n', 1 },
{ 'DBSE', '[[Diccionario biográfico del socialismo español|DBSE]]', 2985, 'url', 1 },
{ 'DBE', '[[Diccionario biográfico español|DBE]]', 4459, 'url', 1 },
{ 'HDS', '[[Historical Dictionary of Switzerland|HDS]]', 902, 'n', 0 },
{ 'LIR', '[[Diccionario histórico de Suiza|LIR]]', 886, 'n', 0 },
{ 'TLS', '[[Theaterlexikon der Schweiz|TLS]]', 1362, 'n', 0 },
{ 'Britannica', '[[Enciclopedia Británica|Britannica]]', 1417, 'url', 0 },
{ 'ELEM', '[[Enciclopedia de la Literatura en México|ELEM]]', 1565, 'n', 0 },
{ 'Treccani', '[[Enciclopedia Treccani|Treccani]]', 4223, 'url', 0 },
{ 'Iranica', '[[Encyclopædia Iranica]]', 3021, 'n', 1 },
},
},
{
title = 'Repositorios digitales',
group = {
{ 'PerséeRevista', '[[Persée (portal)|Persée]]', 2733, 'n', 'Persée revista' },
{ 'DialnetRevista', '[[Dialnet]]', 1609, 'n', 'Dialnet revista' },
{ 'Redalyc', '[[Redalyc]]', 3131, 'n', 1 },
-- { 'UNZrevista', '[[UNZ.org|UNZ]]', 2735, 'n', 0 },
-- { 'JSTORrevista', '[[JSTOR]]', 1230, 'n', 'JSTOR revista' },
{ 'HathiTrust', '[[HathiTrust]]', 1844, 'n', 1 },
{ 'Galicianaobra', '[[Galiciana]]', 3004, 'n', 'Galiciana obra' },
{ 'Trove', '[[Trove]]', 5603, 'n', 1 },
{ 'BVMCobra', '[[Biblioteca Virtual Miguel de Cervantes|BVMC]]', 3976, 'n', 'BVMC obra' },
{ 'BVMCpersona', '[[Biblioteca Virtual Miguel de Cervantes|BVMC]]', 2799, 'n', 'BVMC persona' },
{ 'Persée', '[[Persée (portal)|Persée]]', 2732, 'n', 1 },
{ 'Dialnet', '[[Dialnet]]', 1607, 'n', 1 },
{ 'GutenbergAutor', '[[Proyecto Gutenberg]]', 1938, 'n', 'Proyecto Gutenberg autor' },
{ 'BHL-bibliografia', '[[Biodiversity Heritage Library|BHL]]', 4327, 'n', 0 },
-- { 'UNZautor', '[[UNZ.org|UNZ]]', 2734, 'n', 'UNZ' },
{ 'TLL', '[[:d:Q570837|TLL]]', 7042, 'n', 'The Latin Library' },
{ 'BDCYL', '[[Biblioteca Digital de Castilla y León|BDCYL]]', 3964, 'n', 1 },
{ 'BVPB', '[[Biblioteca Virtual del Patrimonio Bibliográfico|BVPB]]', 4802, 'n', 1 },
{ 'PDCLM', '[[d:Q61500710|Patrimonio Digital de Castilla-La Mancha]]', 6490, 'n', 1 },
{ 'BVANDALUCIA', '[[Biblioteca Virtual de Andalucía|BVA]]', 6496, 'n', 1 },
{ 'BVPHautoridad', '[[Biblioteca Virtual de Prensa Histórica|BVPH]]', 6492, 'n', 1 },
{ 'BivaldiAutor', '[[Biblioteca Valenciana Digital|BiValDi]]', 3932, 'n', 'Bivaldi autor' },
{ 'GalicianaAutor', '[[Galiciana]]', 3307, 'n', 'Galiciana autor' },
{ 'Packard Humanities Institute', '[[Packard Humanities Institute|PHI]]', 6941, 'n', 0 },
{ 'Europeana', '[[Europeana]]', 7704, 'n', 1 },
{ 'DOI', '[[Identificador de objeto digital|DOI]]', 356, 'n', 1 },
{ 'Handle', '[[Sistema Handle|Handle]]', 1184, 'url', 1 },
{ 'MNCARS', '[[Museo Nacional Centro de Arte Reina Sofía|MNCARS]]', 4439, 'url', 1 },
{ 'MuseoDelPradoPersona', '[[Museo del Prado]]', 5321, 'n', 'Museo del Prado (persona)' },
{ 'MuseoDelPradoObra', '[[Museo del Prado]]', 8905, 'n', 'Museo del Prado (obra)' },
{ 'Museo Smithsoniano de Arte AmericanoPersona', '[[Museo Smithsoniano de Arte Americano|SAAM]]', 1795, 'n', 'SAAM (persona)' },
{ 'Museo Smithsoniano de Arte AmericanObra', '[[Museo Smithsoniano de Arte Americano|SAAM]]', 4704, 'n', 'SAAM (obra)' },
},
},
{
title = 'Hemerotecas digitales',
group = {
{ 'HemBNE', '[[Hemeroteca Digital de la Biblioteca Nacional de España|Hemeroteca digital de la BNE]]', 12151, 'n', 1 },
{ 'BVPH', '[[Biblioteca Virtual de Prensa Histórica]]', 2961, 'n', 1 },
{ 'Memoriademadrid', '[[Memoriademadrid]]', 7372, 'n', 1 },
},
},
{
title = 'Astronomía',
group = {
{ 'Simbad', '[[SIMBAD]]', 3083, 'n', 0 },
{ 'JPL-Small-Body-Database', '[[JPL Small-Body Database|JPL]]', 716, 'n', 0 },
{ 'MPC', '[[Centro de Planetas Menores|MPC]]', 5736, 'n', 0 },
{ 'NASA-Exoplanet-Archive', '[[NASA Exoplanet Archive]]', 5667, 'n', 0 },
{ 'GazPlaNom', 'Gazetteer of Planetary Nomenclature', 2824, 'n', 0 },
},
},
{
title = 'Lugares',
group = {
{ 'OSM', '[[OpenStreetMap|OSM]]', 402, 'n', 'Relación OSM' },
{ 'TGN', '[[Getty Thesaurus of Geographic Names|TGN]]', 1667, 'n', 1 },
{ 'AtlasIR', '[[:d:Q24575107|Atlas Digital del Imperio Romano]]', 1936, 'n', 0 },
{ 'Pleiades', '[[:d:Q24423804|Pleiades]]', 1584, 'n', 0 },
{ 'TmGEO', '[[:d:Q22094624|Trismegistos GEO]]', 1958, 'n', 0 },
{ 'SNCZI-IPE-EMBALSE', '[[Sistema Nacional de Cartografía de Zonas Inundables|SNCZI]]-IPE', 4568, 'n', 'SNCZI-IPE embalse' },
{ 'SNCZI-IPE-PRESA', '[[Sistema Nacional de Cartografía de Zonas Inundables|SNCZI]]-IPE', 4558, 'n', 'SNCZI-IPE presa' },
{ 'NATURA2000', '[[Red Natura 2000|Natura 2000]]', 3425, 'n', 'Natura 2000' },
{ 'WWF', '[[Fondo Mundial para la Naturaleza|WWF]]', 1294, 'n', 1 },
{ 'IDESCAT', '[[Instituto de Estadística de Cataluña|IDESCAT]]', 4335, 'n', 1 },
{ 'INE', '[[Instituto Nacional de Estadística (España)|INE]]', 772, ineLink, 1 },
{ 'INE Portugal', '[[Instituto Nacional de Estatística (Portugal)|INE]]', 6324, 'n', 1 },
{ 'ISTAT', '[[Istituto Nazionale di Statistica|ISTAT]]', 635, 'n', 1 },
{ 'OFS-Suiza', '[[Oficina Federal de Estadística (Suiza)|OFS]]', 771, 'n', 1 },
{ 'IBGE', '[[Instituto Brasileiro de Geografia e Estatística|IBGE]]', 1585, 'n', 1 },
{ 'TOID', '[[TOID]]', 3120, 'n', 1 },
{ 'INSEE-commune', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 374, 'n', 'INSEE (comuna)' },
{ 'INSEE-departamento', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 2586, 'n', 'INSEE (departamento)' },
{ 'INSEE-region', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 2585, 'n', 'INSEE (región)' },
{ 'INSEE-canton', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 2506, 'n', 'INSEE (cantón)' },
{ 'SIRUTA', '[[SIRUTA]]', 843, 'n', 1 },
{ 'LAU', '[[Unidad administrativa local|LAU]]', 782, 'n', 1 },
{ 'KSH', '[[Központi Statisztikai Hivatal|KSH]]', 939, 'n', 1 },
{ 'OKATO', '[[OKATO]]', 721, 'n', 1 },
{ 'OSTAT', '[[Statistik Austria|ÖSTAT]]', 964, 'n', 'ÖSTAT-Nr'},
{ 'GNIS', '[[Geographic Names Information System|GNIS]]', 590, 'n', 0},
{ 'WDTA', '[[Base de Datos Mundial sobre Áreas Protegidas|WDTA]]', 809, 'n', 0 },
},
},
{
title = 'Arquitectura',
group = {
{ 'DocomomoIberico', '[[Fundación Docomomo Ibérico|Docomomo Ibérico]]', 3758, 'n', 'Docomomo Ibérico' },
{ 'COAMinmueble', '[[Colegio Oficial de Arquitectos de Madrid|COAM]]', 2917, 'n', 'COAM inmueble' },
{ 'COAMpersona', '[[Colegio Oficial de Arquitectos de Madrid|COAM]]', 4488, 'n', 'COAM persona' },
},
},
{
title = 'Faros',
group = {
{ 'ARHLS', '[[Amateur Radio Lighthouse Society|ARHLS]]', 2980, 'n', 0 },
{ 'NGA', '[[Agencia Nacional de Inteligencia-Geoespacial|NGA]]', 3563, 'n', 0 },
{ 'UKHO', '[[Instituto Hidrográfico del Reino Unido|UKHO]]', 3562, 'n', 0 },
{ 'MarineTraffic', '[[MarineTraffic]]', 3601, 'n', 0 },
{ 'OnlineListofLights', '[[:d:Q843152|Online List of Lights]]', 3223, 'n', 0 },
},
},
{
title = 'Patrimonio histórico',
group = {
{ 'World Heritage Site', '[[Patrimonio de la Humanidad]]', 757, 'n', 'Centro del Patrimonio Mundial' },
{ 'CNMLBH', '[[Comisión Nacional de Monumentos, de Lugares y de Bienes Históricos|CNMLBH]]', 4587, 'n', 'cnmlbh' },
{ 'IGESPAR', '[[Instituto de Gestão do Património Arquitetónico e Arqueológico|IGESPAR]]', 1702, 'n', 1 },
{ 'SIPA', '[[Sistema de Informação para o Património Arquitetónico|SIPA]]', 1700, 'n', 1 },
{ 'Infopatrimonio', '[[:d:Q64745161|Infopatrimônio]]', 4372, 'n', 'Infopatrimônio' },
{ 'AustriaObjektID', 'Austria ObjektID', 2951, 'n', 'Austria ObjektID' },
{ 'FBBID', '[[Fredede og Bevaringsværdige Bygninger|FBB]]', 2783, 'n', 'FBB' },
{ 'Fornminnesregistret', '[[Fornminnesregistret|FMIS]]', 1260, 'n', 'FMIS' },
{ 'BerlinerKulturdenkmal', 'Berliner Kulturdenkmal', 2424, 'n', 'Berliner Kulturdenkmal' },
{ 'NHLE', '[[National Heritage List for England|NHLE]]', 1216, 'n', 1 },
{ 'NRHP', '[[Registro Nacional de Lugares Históricos|NRHP]]', 649, 'n', 1 },
{ 'KULTURMINNE', '[[Riksantikvaren|Kulturminne]]', 758, 'n', 'Kulturminne' },
{ 'CRHP', '[[:d:Q3456275|CRHP]]', 477, 'n', 1 },
{ 'MERIMEE', '[[Base Mérimée|Mérimée]]', 380, 'n', 'Mérimée' },
{ 'CADW', '[[Cadw]]', 1459, 'n', 'Cadw' },
{ 'Památkový Katalog', '[[Památkový katalog]]', 762, 'n', 'Památkový katalog' },
{ 'PatrimonioIran', 'Patrimonio Nacional de Irán', 1369, 'n', 'Patrimonio Nacional de Irán' },
{ 'Rijksmonument', 'Rijksmonument', 359, 'n', 'Rijksmonument' },
{ 'BIC', '[[Bien de Interés Cultural (España)|BIC]]', 808, 'n', 1 },
{ 'BCIN', '[[Bien Cultural de Interés Nacional|BCIN]]', 1586, 'n', 1 },
{ 'IPAC', '[[Inventario del Patrimonio Arquitectónico de Cataluña|IPAC]]', 1600, 'n', 1 },
{ 'IGPCV', '[[Inventario General del Patrimonio Cultural Valenciano|IGPCV]]', 2473, 'n', 1 },
{ 'IAPH', '[[Instituto Andaluz del Patrimonio Histórico|IAPH]]', 8425, 'n', 0 },
{ 'BDI-IAPH', '[[Instituto Andaluz del Patrimonio Histórico|Patrimonio Inmueble de Andalucía]]', 3318, 'n', 1 },
{ 'SIPCA', '[[SIPCA]]', 3580, 'n', 1 },
{ 'PWJCYL', '[[Junta de Castilla y León|Patrimonio Web JCyL]]', 3177, 'n', 'Patrimonio Web JCyL' },
{ 'CPCCLM', '[[Catálogo de Patrimonio Cultural de Castilla-La Mancha]]', 6539, 'n', 1 },
{ 'HispaniaNostra', '[[Lista roja de patrimonio en peligro|Lista Roja Hispania Nostra]]', 4868, 'url', 'Lista Roja Hispania Nostra' },
{ 'HGC', '[[Heritage Gazetteer for Cyprus]]', 6916, 'n', 1 },
{ 'HGL', '[[Heritage Gazetteer of Libya]]', 6751, 'n', 1 },
},
},
{
title = 'Deportistas',
group = {
{ 'COI', '[[Comité Olímpico Internacional|COI]]', 5815, 'n', 0 },
{ 'World Athletics', '[[World Athletics]]', 1146, 'n', 0 },
{ 'European Athletics', '[[Atletismo Europeo]]', 3766, 'n', 0 },
{ 'Liga Diamante', '[[Liga de Diamante]]', 3923, 'n', 0 },
{ 'ITU', '[[Unión Internacional de Triatlón|ITU]]', 3604, 'n', 0 },
{ 'ATP', '[[Asociación de Tenistas Profesionales|ATP]]', 536, 'n', 0 },
{ 'Copa Davis', '[[Copa Davis]]', 2641, 'n', 0 },
{ 'WTA', '[[Asociación de Tenis Femenino|WTA]]', 597, 'n', 0 },
{ 'Fed Cup', '[[Copa Billie Jean King|Fed Cup]]', 2642, 'n', 0 },
{ 'ITF', '[[Federación Internacional de Tenis|ITF]]', 599, 'n', 0 },
{ 'ITHF', '[[Salón de la Fama del Tenis Internacional|ITHF]]', 3363, 'n', 0 },
{ 'ITTF', '[[Federación Internacional de Tenis de Mesa|ITTF]]', 1364, 'n', 0 },
{ 'FIFA', '[[FIFA]]', 1469, 'n', 0 },
{ 'UEFA', '[[UEFA]]', 2276, 'n', 0 },
{ 'Soccerway', '[[Soccerway]]', 2369, 'n', 0 },
{ 'Transfermarkt', '[[Transfermarkt]]', 2446, 'n', 0 },
{ 'FootballDatabase', '[[FootballDatabase]]', 3537, 'n', 0 },
{ 'BDFutbol', '[[BDFutbol]]', 3655, 'n', 0 },
{ 'EPCR', '[[European Professional Club Rugby|EPCR]]', 3666, 'n', 0 },
{ 'FIDE', '[[Federación Internacional de Ajedrez|FIDE]]', 1440, 'n', 0 },
{ 'BoxRec', '[[BoxRec]]', 1967, 'n', 0 },
{ 'Sherdog', '[[Sherdog]]', 2818, 'n', 0 },
{ 'WWE', '[[WWE]]', 2857, 'n', 0 },
{ 'NSK', '[[Asociación Japonesa de Sumo|NSK]]', 3385, 'n', 0 },
{ 'IJF', '[[Federación Internacional de Yudo|IJF]]', 4559, 'n', 0 },
{ 'FINA', '[[Federación Internacional de Natación|FINA]]', 3408, 'n', 0 },
{ 'ISHOF', '[[International Swimming Hall of Fame|ISHOF]]', 3691, 'n', 0 },
{ 'NFL', '[[National Football League|NFL]]', 3539, 'n', 0 },
{ 'NHL', '[[National Hockey League|NHL]]', 3522, 'n', 0 },
{ 'FIH', '[[Federación Internacional de Hockey|FIH]]', 3742, 'n', 0 },
{ 'MLB', '[[Grandes Ligas de Béisbol|MLB]]', 3541, 'n', 0 },
{ 'FIL', '[[Federación Internacional de Luge|FIL]]', 2990, 'n', 0 },
{ 'IBSF', '[[Federación Internacional de Bobsleigh y Skeleton|IBSF]]', 2991, 'n', 0 },
{ 'WAF', '[[Federación Internacional de Tiro con Arco|WAF]]', 3010, 'n', 0 },
{ 'FEI', '[[Federación Ecuestre Internacional|FEI]]', 3111, 'n', 0 },
{ 'FIE', '[[Federación Internacional de Esgrima|FIE]]', 2423, 'n', 0 },
{ 'CEE', '[[Confederación Europea de Esgrima|CEE]]', 4475, 'n', 0 },
{ 'IBU', '[[Unión Internacional de Biatlón|IBU]]', 2459, 'n', 0 },
{ 'ISU', '[[Unión Internacional de Patinaje sobre Hielo|ISU]]', 2694, 'n', 0 },
{ 'FIG', '[[Federación Internacional de Gimnasia|FIG]]', 2696, 'n', 0 },
{ 'UIPM', '[[Unión Internacional de Pentatlón Moderno|UIPM]]', 2726, 'n', 0 },
{ 'BWF', '[[Federación Mundial de Bádminton|BWF]]', 2729, 'n', 0 },
{ 'WCF', '[[Federación Mundial de Curling|WCF]]', 3557, 'n', 0 },
{ 'EHF', '[[Federación Europea de Balonmano|EHF]]', 3573, 'n', 0 },
{ 'IWF', '[[Federación Internacional de Halterofilia|IWF]]', 3667, 'n', 0 },
{ 'IOF', '[[Federación Internacional de Orientación|IOF]]', 3672, 'n', 0 },
{ 'ISSF', '[[Federación Internacional de Tiro Deportivo|ISSF]]', 2730, 'n', 0 },
{ 'FIVB', '[[Federación Internacional de Voleibol|FIVB]]', 2801, 'n', 0 },
{ 'CEV', '[[Confederación Europea de Voleibol|CEV]]', 3725, 'n', 0 },
{ 'ICF', '[[Federación Internacional de Piragüismo|ICF]]', 3689, 'n', 0 },
{ 'FISA', '[[Federación Internacional de Sociedades de Remo|FISA]]', 2091, 'n', 0 },
{ 'IFSC', '[[Federación Internacional de Escalada Deportiva|IFSC]]', 3690, 'n', 0 },
{ 'NLL', '[[National Lacrosse League|NLL]]', 3955, 'n', 0 },
{ 'PGA', '[[Professional Golfers Association of America|PGA]]', 2811, 'n', 0 },
{ 'LPGA', '[[LPGA]]', 2810, 'n', 0 },
{ 'FIBA', '[[Federación Internacional de Baloncesto|FIBA]]', 3542, 'n', 0 },
{ 'Euroliga', '[[Euroliga]]', 3536, 'n', 0 },
{ 'WNBA', '[[WNBA]]', 3588, 'n', 0 },
{ 'NBA', '[[NBA]]', 3647, 'n', 0 },
{ 'ACB', '[[Asociación de Clubs de Baloncesto|ACB]]', 3525, 'n', 0 },
{ 'Entr. ACB', '[[Asociación de Clubs de Baloncesto|Entrenador ACB]]', 6297, 'n', 0 },
{ 'snooker.org', 'snooker.org', 4502, 'n', 0 },
{ 'snooker.org tournament', 'snooker.org', 4921, 'n', 0 },
{ 'WST', 'WST', 4498, 'n', 0 },
{ 'CueTracker', 'CueTracker', 4924, 'n', 0 },
},
},
{
title = 'Cine',
group = {
{ 'FilmAffinity', '[[FilmAffinity]]', 480, 'n', 0 },
{ 'IMDb', '[[Internet Movie Database|IMDb]]', 345, 'n', 0 },
{ 'Óscar', '[[Premios Óscar|Óscar]]', 6145, 'n', 0 },
{ 'AFI', '[[AFI Catalog of Feature Films|AFI]]', 3593, 'n', 0 },
{ 'Allcinema', '[[Allcinema]]', 2465, 'n', 0 },
{ 'AllMovie', '[[AllMovie]]', 1562, 'n', 0 },
{ 'AlloCiné', '[[AlloCiné]]', 1265, 'n', 0 },
{ 'BFI', '[[British Film Institute|BFI]]', 2703, 'n', 0 },
{ 'Box Office Mojo', '[[Box Office Mojo]]', 1237, 'n', 0 },
{ 'ICAA película', '[[Instituto de la Cinematografía y de las Artes Audiovisuales|ICAA]]', 5128, 'n', 1 },
},
},
{
title = 'Empresarios',
group = {
{ 'Bloomberg', '[[Bloomberg L.P.|Bloomberg]]', 3052, 'n', 0 },
{ 'Crunchbase', '[[Crunchbase]]', 2087, 'n', 0 },
},
},
{
title = 'Identificadores fiscales',
group = {
{ 'IRS', '[[Servicio de Impuestos Internos de los Estados Unidos|IRS]]', 1297, noLink, 0 },
{ 'VAT', '[[Número de Identificación Fiscal a efectos del IVA (NIF-IVA)|VAT]]', 3608, noLink, 0 },
{ 'UID', 'UID', 4829, 'n', 0 },
},
},
{
title = 'Informática',
group = {
{ 'TOP500', 'TOP500', 7307, 'n', 0 },
{ 'Arch', 'Arch Linux', 3454, 'n', 0 },
{ 'AUR', 'AUR', 4162, 'n', 0 },
{ 'Debian', 'Debian', 3442, 'n', 0 },
{ 'Fedora', 'Fedora', 3463, 'n', 0 },
{ 'FSD', 'Free Software Directory', 2537, 'n', 0 },
{ 'Gentoo', 'Gentoo', 3499, 'n', 0 },
{ 'OpenHub', '[[Open Hub]]', 1972, 'n', 0 },
{ 'PyPI', '[[PyPI]]', 5568, 'n', 0 },
{ 'Snap', 'Snap', 4435, 'n', 0 },
{ 'Ubuntu', 'Ubuntu', 3473, 'n', 0 },
}
},
{
title = 'Bases de datos taxonómicas',
group = {
{ 'Algabase', '[[AlgaeBase]]', 1348, 'n', 0 },
{ 'ADW', '[[Animal Diversity Web|ADW]]', 4024, 'n', 0 },
{ 'AmphibiaWeb', '[[AmphibiaWeb]]', 5036, 'n', 0 },
{ 'BOLD', 'BOLD', 3606, 'n', 0 },
{ 'APD', '[[African Plant DB]]', 2036, 'n', 0 },
{ 'Avibase', '[[Avibase]]', 2026, 'n', 0 },
{ 'BHL', '[[Biodiversity Heritage Library|BHL]]', 687, 'n', 0 },
{ 'BioLib', '[[BioLib]]', 838, 'n', 0 },
{ 'BirdLife', '[[BirdLife International|BirdLife]]', 5257, 'n', 0 },
{ 'CatalogueOfLife', '[[Catalogue of Life]]', 3088, 'n', 0 },
{ 'CONABIO', '[[Comisión Nacional para el Conocimiento y Uso de la Biodiversidad|CONABIO]]', 4902, 'n', 0 },
{ 'Dyntaxa', '[[Dyntaxa]]', 1939, 'n', 0 },
{ 'eBird', '[[eBird]]', 3444, 'n', 0 },
{ 'EOL', '[[Enciclopedia de la vida|EOL]]', 830, 'n', 0 },
{ 'EUNIS', '[[European Nature Information System|EUNIS]]', 6177, 'n', 0 },
{ 'FaunaEuropaea', '[[Fauna Europaea]]', 1895, 'n', 0 },
{ 'FishBase', '[[FishBase]]', 938, 'n', 0 },
{ 'FloraBase', '[[FloraBase]]', 3101, 'n', 0 },
{ 'FOC', '[[Flora of China|Fl. China]]', 1747, 'n', 0 },
{ 'GBIF', '[[Global Biodiversity Information Facility|GBIF]]', 846, 'n', 0 },
{ 'GlobalSpecies', 'GlobalSpecies', 6433, 'n', 0 },
{ 'GRIN', '[[Germplasm Resources Information Network|GRIN]]', 1421, 'url', 0 },
{ 'IBC', [[Internet Bird Collection|IBC]], 3099, 'n', 0 },
{ 'iNaturalist', [[iNaturalist]], 3151, 'n', 0 },
{ 'IndexFungorum', '[[Index Fungorum]]', 1391, 'n', 0 },
{ 'IOBIS', 'OBIS', 6754, 'n', 0 },
{ 'IPNI', '[[Índice Internacional de Nombres de las Plantas|IPNI]]', 961, 'n', 0 },
{ 'ITIS', '[[Sistema Integrado de Información Taxonómica|ITIS]]', 815, 'n', 0 },
{ 'LPSN', '[[Listado de nombres procariotas con posición en nomenclatura|LPSN]]', 1991, 'url', 0 },
{ 'MSW', '[[Mammal Species of the World|MSW]]', 959, 'n', 0 },
{ 'MycoBank', '[[MycoBank]]', 962, 'n', 0 },
{ 'NCBI', '[[Centro Nacional para la Información Biotecnológica|NCBI]]', 685, 'n', 0 },
{ 'FossilWorks', '[[Paleobiology Database]]', 842, 'n', 0 },
{ 'PlantList', '[[The Plant List|PlantList]]', 1070, 'n', 0 },
{ 'SpeciesPlus', 'Species+', 2040, 'n', 0 },
{ 'Taxonomicon', 'Taxonomicon', 7066, 'n', 0 },
{ 'Tropicos', '[[W3TROPICOS]]', 960, 'n', 0 },
{ 'UICN', '[[Unión Internacional para la Conservación de la Naturaleza|UICN]]', 627, 'n', 0 },
{ 'USDAP', '[[Departamento de Agricultura de los Estados Unidos|USDA Plants]]', 1772, 'n', 0 },
{ 'VASCAN', 'VASCAN', 1745, 'n', 0 },
{ 'WoRMS', '[[Registro Mundial de Especies Marinas|WoRMS]]', 850, 'n', 0 },
{ 'uBio', 'uBio', 4728, 'n', 0 },
{ 'Xeno-canto', '[[Xeno-canto]]', 2426, 'n', 0 },
{ 'Zoobank', '[[Zoobank]]', 1746, 'n', 0 },
},
},
{
title = 'Identificadores médicos',
group = {
{ 'DOID', 'DOID', 699, 'n', 0 },
{ 'CIE11', '[[CIE-11]]', 7329, icd11Link, 0},
{ 'CIE10', '[[CIE-10]]', 494, 'n', 0 },
{ 'CIE9', '[[CIE-9]]', 493, 'n', 0 },
{ 'CIE10MC', 'CIE-10-MC', 4229, 'n', 0 },
{ 'CIE9MC', '[[CIE-9-MC]]', 1692, 'n', 0 },
{ 'CIEO', '[[CIE-O]]', 563, 'n', 0 },
{ 'CIAP2', '[[Clasificación Internacional de Atención Primaria|CIAP-2]]', 667, 'n', 0 },
{ 'OMIM', '[[Herencia Mendeliana en el Hombre|OMIM]]', 492, 'n', 0 },
{ 'DSM IV', '[[Manual diagnóstico y estadístico de los trastornos mentales|DSM IV]]', 663, 'n', 0 },
{ 'DSM 5', '[[DSM 5|DSM-5]]', 1930, 'n', 0 },
{ 'DiseasesDB', '[[Diseases Database|DiseasesDB]]', 557, 'n', 0 },
{ 'MedlinePlus', '[[MedlinePlus]]', 604, 'n', 0 },
{ 'eMedicine', '[[eMedicine]]', 673, 'n', 0 },
{ 'MeSH', '[[Medical Subject Headings|MeSH]]', 486, 'n', 0 },
{ 'MeSHdq', 'MeSH D/Q', 9340, 'y', 0 },
{ 'DeCS', '[[Descriptores en Ciencias de la Salud|DeCS]]', 9272, 'n', 0 },
{ 'Orphanet', '[[Orphanet]]', 1550, 'n', 0 },
{ 'TA98', '[[Terminología Anatómica|TA]]', 1323, 'n', 1 },
{ 'FMA', '[[Foundational Model of Anatomy|FMA]]', 1402, 'n', 0 },
{ 'UMLS', 'UMLS', 2892, 'n', 0 },
{ 'GeneReviews', 'GeneReviews', 668, 'n', 0 },
{ 'NumE', '[[Número E]]', 628, 'n', 0 },
}
},
{
title = 'Identificadores químicos',
group = {
{ 'CAS', '[[Número CAS]]', 231, 'n', 0 },
{ 'EINECS', '[[EINECS|Números EINECS]]', 232, 'n', 0},
{ 'ATC', '[[Código ATC]]', 267, 'n', 0 },
{ 'RTECS', '[[RTECS]]', 657, 'n', 0 },
{ 'ChEBI', '[[ChEBI]]', 683, 'n', 0 },
{ 'ChEMBL', '[[ChEMBL]]', 592, 'n', 0 },
{ 'ChemSpider', '[[ChemSpider]]', 661, 'n', 0 },
{ 'DrugBank', '[[DrugBank]]', 715, 'n', 0 },
{ 'PubChem', '[[PubChem]]', 662, 'n', 0 },
{ 'UNII', '[[Unique Ingredient Identifier|UNII]]', 652, 'n', 0 },
{ 'KEGG', '[[KEGG]]', 665, 'n', 0 },
{ 'SMILES', '[[SMILES]]', 233, 'y', 0 },
{ 'InChI', '[[International Chemical Identifier|InChI]]', 234, 'y', 0 },
{ 'InChIKey', 'InChI key', 235, 'y', 0 },
}
},
{
title = 'Identificadores biológicos',
group = {
{ 'MGI', '[[Mouse Genome Informatics|MGI]]', 231, 'n', 0 },
{ 'HomoloGene', '[[HomoloGene]]', 593, 'n', 0 },
{ 'UniProt', '[[UniProt]]', 352, 'n', 0 },
}
},
{
title = 'Identificadores astronómicos',
group = {
{ 'COSPAR', 'COSPAR', 247, 'n', 0 },
{ 'SCN', '[[Satellite Catalog Number|SCN]]', 377, 'n', 0 },
{ 'NSSDCA', '[[International Designator|NSSDCA]]', 8913, 'n', 0 }
}
},
{
title = 'Ontologías',
group = {
{ 'IEV', 'Número IEV', 8855, 'n', 0 },
{ 'OUM2', 'OUM 2.0', 8769, 'n', 0 }
}
}
}
-- -- Example row: --
-- conf.databases[2] = {}
-- conf.databases[2].name = 'External links'
-- conf.databases[2].list = {
-- {
-- title = '',
-- group = {
-- { 'Website', 'Website', 856, 'n', 0 },
-- },
-- },
-- }
--In this order: alternate name, name of parameter from databases table
conf.aliases = {
{ 'Wd', 'Wikidata' },
{ 'PND', 'GND' },
{ 'Commonscat', 'Commons' },
}
local function getCatForId( parameter, category )
local title = mw.title.getCurrentTitle()
local namespace = title.namespace
if category == 0 then
return ''
elseif category == 1 then
category = parameter
end
if namespace == 0 then
return '[[Categoría:Wikipedia:Artículos con identificadores ' .. category .. ']]\n'
elseif namespace == 2 and not title.isSubpage then
return '[[Categoría:Wikipedia:Páginas de usuario con identificadores ' .. category .. ']]\n'
else
return '[[Categoría:Wikipedia:Páginas misceláneas con identificadores ' .. category .. ']]\n'
end
end
function getIdsFromSitelinks( itemId, property )
local ids = {}
local siteLink = itemId and mw.wikibase.getSitelink( itemId, property )
if siteLink then
table.insert( ids, siteLink )
end
return ids
end
function getIdsFromWikidata( itemId, property )
local ids = {}
local declaraciones = mw.wikibase.getBestStatements(itemId, property)
for _, statement in pairs( declaraciones) do
if statement.mainsnak.datavalue then
table.insert( ids, statement.mainsnak.datavalue.value )
end
end
return ids
end
function getLink( property, val, mask )
local link = ''
if mw.ustring.find( val, '//' ) then
link = val
else
if type(property) == 'number' then
local entityObject = mw.wikibase.getEntityObject('P'..property)
local dataType = entityObject.datatype
if dataType == 'external-id' then
local allStatements = entityObject:getBestStatements('P1630')
if allStatements then
for pos = 1, #allStatements, 1 do
local q = allStatements[pos].qualifiers
if q and q.P407 and q.P407[1].datavalue and q.P407[1].datavalue.value.id == 'Q1321' then
link = allStatements[pos].mainsnak.datavalue.value
end
end
end
if link == '' then
local formatterURL = entityObject:getBestStatements('P1630')[1]
if formatterURL then
link = formatterURL.mainsnak.datavalue.value
else
local formatterURL = entityObject:getBestStatements('P3303')[1]
if formatterURL then link = formatterURL.mainsnak.datavalue.value end
end
end
elseif dataType == 'url' then
local subjectItem = entityObject:getBestStatements('P1629')[1]
if subjectItem then
local officialWebsite = mw.wikibase.getBestStatements(subjectItem.mainsnak.datavalue.value.id, 'P856')[1]
if officialWebsite then
link = officialWebsite.mainsnak.datavalue.value
end
end
elseif dataType == 'string' then
local formatterURL = entityObject:getBestStatements('P1630')[1]
if formatterURL then
link = formatterURL.mainsnak.datavalue.value
else
local formatterURL = entityObject:getBestStatements('P3303')[1]
if formatterURL then
link = formatterURL.mainsnak.datavalue.value
else
local subjectItem = entityObject:getBestStatements('P1629')[1]
if subjectItem then
local officialWebsite = mw.wikibase.getBestStatements(subjectItem.mainsnak.datavalue.value.id,'P856')[1]
if officialWebsite then
link = officialWebsite.mainsnak.datavalue.value
end
end
end
end
end
elseif type(property) == 'string' then
link = property
end
end
link = mw.ustring.gsub(link, '^[Hh][Tt][Tt][Pp]([Ss]?)://', 'http%1://') -- fix wikidata URL
if type(mask) == 'function' then
return mask( val, link, property )
end
link = mw.ustring.gsub(link, '$1', mw.ustring.gsub( mw.ustring.gsub( val, '%%', '%%%%' ), ' ', '%%%%20' ) or val )
if mw.ustring.find( link, '//' ) then
if type(mask) == 'string' then
link = cleanLink( link, 'PATH' )
if mask == 'y' then
return '['..link..' ID]'
elseif mask == 'n' then
return '['..link..' '..val..']'
end
return '['..link..' '..mask..']'
end
elseif link == '' then
return val
else
return '[['..link..'|'..val..']]'
end
end
local function createRow( id, label, rawValue, link, withUid )
if link then
if label and label ~= '' then label = '<span style="white-space:nowrap;">'..label .. ':</span> ' end
if withUid then
return '* ' .. label .. '<span class="uid">' .. link .. '</span>\n'
else
return '* ' .. label .. link .. '\n'
end
else
return '* <span class="error">El ' .. id .. ' id ' .. rawValue .. ' no es válido</span>[[Categoría:Wikipedia:Páginas con problemas en el control de autoridades]]\n'
end
end
local function copyTable(inTable)
if type(inTable) ~= 'table' then return inTable end
local outTable = setmetatable({}, getmetatable(inTable))
for key, value in pairs (inTable) do outTable[copyTable(key)] = copyTable(value) end
return outTable
end
local function splitLccn( id )
if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then
id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' )
end
if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then
return mw.text.split( id, '/' )
end
return false
end
local p = {}
function p.authorityControl( frame )
local pArgs = frame:getParent().args
local parentArgs = copyTable(pArgs)
local stringArgs = false
local fromForCount, itemCount, rowCount = 1, 0, 0
local mobileContent = ''
--Cleanup args
for k, v in pairs( pArgs ) do
if type(k) == 'string' then
--make args case insensitive
local lowerk = mw.ustring.lower(k)
if not parentArgs[lowerk] or parentArgs[lowerk] == '' then
parentArgs[lowerk] = v
parentArgs[k] = nil
end
--remap abc to abc1
if not mw.ustring.find(lowerk, '%d$') then --if no number at end of param
if not parentArgs[lowerk..'1'] or parentArgs[lowerk..'1'] == '' then
parentArgs[lowerk..'1'] = v
parentArgs[lowerk] = nil
end
end
if v and v ~= '' then
--find highest from param
if mw.ustring.sub(lowerk,1,4) == 'from' then
local fromNumber = tonumber(mw.ustring.sub(lowerk,5,-1))
if fromNumber and fromNumber >= fromForCount then fromForCount = fromNumber end
elseif mw.ustring.sub(lowerk,1,3) == 'for' then
local forNumber = tonumber(mw.ustring.sub(lowerk,4,-1))
if forNumber and forNumber >= fromForCount then fromForCount = forNumber end
elseif mw.ustring.lower(v) ~= 'no' and lowerk ~= 'for' then
stringArgs = true
end
end
end
end
--Setup navbox
local navboxParams = {
name = 'Control de autoridades',
bodyclass = 'hlist',
groupstyle = 'width: 12%; text-align:center;',
}
for f = 1, fromForCount, 1 do
local title = {}
--cleanup parameters
if parentArgs['from'..f] == '' then parentArgs['from'..f] = nil end
if parentArgs['for'..f] == '' then parentArgs['for'..f] = nil end
--remap aliases
for _, a in pairs( conf.aliases ) do
local alias, name = mw.ustring.lower(a[1]), mw.ustring.lower(a[2])
if parentArgs[alias..f] and not parentArgs[name..f] then
parentArgs[name..f] = parentArgs[alias..f]
parentArgs[alias..f] = nil
end
end
--Fetch Wikidata item
local itemId = parentArgs['from'..f] or mw.wikibase.getEntityIdForCurrentPage()
local label = itemId and (mw.wikibase.getSitelink(itemId) or mw.wikibase.getLabel(itemId)) or ''
if label and label ~= '' then
title = mw.title.new(label)
if not title then title = mw.title.getCurrentTitle() end
else
title = mw.title.getCurrentTitle()
end
if (not parentArgs['wikidata'..f] or parentArgs['wikidata'..f] == '') and (title.namespace == 0 or title.namespace == 104) then
parentArgs['wikidata'..f] = parentArgs['from'..f] or itemId or ''
end
if title.namespace == 0 or title.namespace == 104 or stringArgs then --Only in the main namespaces or if there are manual overrides
if fromForCount > 1 and #conf.databases > 1 then
if parentArgs['for'..f] and parentArgs['for'..f] ~= '' then
navboxParams['list'..(rowCount + 1)] = "'''" .. parentArgs['for'..f] .. "'''"
else
navboxParams['list'..(rowCount + 1)] = "'''" .. title.text .. "'''"
end
navboxParams['list'..(rowCount + 1)..'style'] = 'background-color: #ddf;'
rowCount = rowCount + 1
end
for _, db in pairs( conf.databases ) do
if db.list and #db.list > 0 then
local listElements = {}
for n, gr in pairs( db.list ) do
local groupElements = {}
if gr.group and #gr.group > 0 then
for _, params in pairs( gr.group ) do
local id = mw.ustring.lower( params[1] )
-- Wikidata fallback if requested
if itemId and params[3] ~= 0 and (not parentArgs[id..f] or parentArgs[id..f] == '') then
local wikidataIds = {}
if type( params[3] ) == 'function' then
wikidataIds = params[3]( itemId )
elseif type( params[3] ) == 'string' then
wikidataIds = getIdsFromSitelinks(itemId, params[3] )
else
wikidataIds = getIdsFromWikidata( itemId, 'P' .. params[3] )
end
if wikidataIds[1] then
parentArgs[id..f] = wikidataIds[1]
end
end
-- Worldcat
if id == 'issn' and parentArgs['worldcatid'..f] and parentArgs['worldcatid'..f] ~= '' then -- 'issn' is the first element following the 'wikidata' item
table.insert( groupElements, createRow( id, '', parentArgs['worldcatid'..f], '[//www.worldcat.org/identities/' .. parentArgs['worldcatid'..f] .. ' WorldCat]', false ) ) --Validation?
elseif id == 'viaf' and parentArgs[id..f] and string.match( parentArgs[id..f], '^%d+$' ) and not parentArgs['worldcatid'..f] then -- Hackishly copy the validation code; this should go away when we move to using P1793 and P1630
table.insert( groupElements, createRow( id, '', parentArgs[id..f], '[//www.worldcat.org/identities/viaf-' .. parentArgs[id..f] .. ' WorldCat]', false ) )
elseif id == 'lccn' and parentArgs[id..f] and parentArgs[id..f] ~= '' and not parentArgs['viaf'..f] and not parentArgs['worldcatid'..f] then
local lccnParts = splitLccn( parentArgs[id..f] )
if lccnParts and lccnParts[1] ~= 'sh' then
table.insert( groupElements, createRow( id, '', parentArgs[id..f], '[//www.worldcat.org/identities/lccn-' .. lccnParts[1] .. lccnParts[2] .. '-' .. lccnParts[3] .. ' WorldCat]', false ) )
end
end
local val = parentArgs[id..f]
if val and val ~= '' and mw.ustring.lower(val) ~= 'no' and params[3] ~= 0 then
local link
if type( params[3] ) == 'function' then
link = val
else
link = getLink( params[3], val, params[4] )
end
if link and link ~= '' then
table.insert( groupElements, createRow( id, params[2], val, link, true ) .. getCatForId( params[1], params[5] or 0 ) )
itemCount = itemCount + 1
end
end
end
if #groupElements > 0 then
if gr.title and gr.title ~= '' then
table.insert( listElements, "* '''"..gr.title.."'''\n" )
end
table.insert( listElements, table.concat( groupElements ) )
if n == 1 and #groupElements > 1 then
table.insert( listElements, "\n----\n" )
end
-- mobile version
if n == 1 then
mobileContent = table.concat( groupElements )
end
end
end
end
-- Generate navbox title
if #listElements > 0 then
if fromForCount > 1 and #conf.databases == 1 then
if parentArgs['for'..f] and parentArgs['for'..f] ~= '' then
navboxParams['group'..(rowCount + 1)] = "''" .. parentArgs['for'..f] .. "''"
else
navboxParams['group'..(rowCount + 1)] = "''" .. title.text .. "''"
end
else
navboxParams['group'..(rowCount + 1)] = db.name or ''
end
navboxParams['list'..(rowCount + 1)] = table.concat( listElements )
rowCount = rowCount + 1
end
end
end
end
end
if rowCount > 0 then
local Navbox = require('Módulo:Navbox')
if fromForCount > 1 then
--add missing names
for r = 1, rowCount, 1 do
if navboxParams['group'..r] == '' then
navboxParams['group'..r] = "''" .. mw.wikibase.getEntity(parentArgs['wikidata'..r]):getLabel().."''"
end
end
if fromForCount > 2 then
navboxParams['navbar'] = 'plain'
else
navboxParams['state'] = 'off'
navboxParams['navbar'] = 'off'
end
end
local mainCategories = ''
if stringArgs then
mainCategories = mainCategories .. '[[Categoría:Wikipedia:Páginas que utilizan control de autoridades con parámetros]]\n'
end
if itemCount > 13 then
if itemCount > 30 then
itemCount = 'más de 30'
end
mainCategories = mainCategories .. '[[Categoría:Wikipedia:Control de autoridades con ' .. itemCount .. ' elementos]]\n'
end
navboxParams['style'] = 'width: inherit';
return frame:extensionTag{ name = 'templatestyles', args = { src = 'Plantilla:Control de autoridades/styles.css' } }
.. tostring(
mw.html.create( 'div' )
:addClass( 'mw-authority-control' )
:wikitext( Navbox._navbox( navboxParams ) )
:done()
:tag('div')
:addClass( 'mw-mf-linked-projects' )
:addClass( 'hlist' )
:newline()
:wikitext( mobileContent )
:done()
:done()
)
.. mainCategories
else
return ''
end
end
return p
0cd9d75bd89698e1c3eee30767a6b47407d3232c
Elecciones presidenciales de Argentina de 1995
0
40
78
2023-11-23T21:19:30Z
Media Wiki>McLovin2511
0
/* Frente País Solidario */
wikitext
text/x-wiki
{{Ficha de elección
| compacto = sí
| ancho = 50
| nombre_elección = Elecciones presidenciales de 1995
| endisputa = <small>Presidente para el período 1995-1999</small>
| país = Argentina
| tipo = [[Presidente de la Nación Argentina|Presidencial]]
| período = 8 de julio de 1995<br>10 de diciembre de 1999
| encurso = no
| elección_anterior = Elecciones presidenciales de Argentina de 1989
| fecha_anterior = 1989
| siguiente_elección = Elecciones presidenciales de Argentina de 1999
| siguiente_fecha = 1999
| fecha_elección = Domingo 14 de mayo de 1995
| participación = 82.08
| participación_ant = 85.31
| habitantes = 34994818
| registrados = 22178201
| votantes = 18203924
| válidos = 17395284 (95.56%)
| blancos = 653443 (3.59%)
| nulos = 125112 (0.69%)
<!-- Carlos Menem -->
| ancho1 = 54
| imagen1 = File:Menem con banda presidencial (recortada).jpg
| coalición1 = Apoyado por
| partido1_coalición1 = [[Partido Justicialista]]
| partido2_coalición1 = [[Unión del Centro Democrático]]
| partido3_coalición1 = [[Partido Federal (1973)|Partido Federal]] <small>(Nacional)</small>
| partido4_coalición1 = [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]]
| partido5_coalición1 = Movimiento Línea Popular
| partido6_coalición1 = ''Otros partidos''
| candidato1 = [[Carlos Menem]]
| color1 = {{Color político|Partido Justicialista}}
| partido1 = [[Partido Justicialista|PJ]]
| votos1 = 8687511
| votos1_ant = 7957518
| porcentaje1 = 49.94
<!-- José Octavio Bordón -->
| ancho2 = 64
| imagen2 = Archivo:José_Octavio_Bordón.png
| género2 = hombre
| candidato2 = [[José Octavio Bordón]]
| color2 = {{Color político|Frente País Solidario}}
| partido2 = [[Política Abierta para la Integridad Social|PAIS]]
| coalición2 = [[Frente País Solidario]]
| partido1_coalición2 = [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
| partido2_coalición2 = Democracia Popular para el Frente Social
| partido3_coalición2 = [[Frente Grande]]
| partido4_coalición2 = [[Partido Intransigente]]
| partido5_coalición2 = [[Política Abierta para la Integridad Social]]
| partido6_coalición2 = [[Partido Socialista Democrático (Argentina)|Partido Socialista Democrático]]
| partido7_coalición2 = [[Partido Socialista Popular (Argentina)|Partido Socialista Popular]]<br>[[Cruzada Renovadora]]<br>Frente de Liberación 12 de Mayo
| votos2 = 5096104
| porcentaje2 = 29.30
<!-- Horacio Massaccesi -->
| ancho3 = 64
| imagen3 = File:Horacio_Massaccesi_1995.png
| género3 = hombre
| candidato3 = [[Horacio Massaccesi]]
| color3 = {{Color político|Unión Cívica Radical}}
| partido3 = [[Unión Cívica Radical|UCR]]
| coalición3 = Apoyado por
| partido1_coalición3 = [[Unión Cívica Radical]]
| partido2_coalición3 = [[Movimiento de Integración y Desarrollo]]
| partido3_coalición3 = [[Partido Federal (1973)|Partido Federal]] <small>(Córdoba)</small>
| votos3 = 2956137
| votos3_ant = 6213217
| porcentaje3 = 16.99
<!-- Aldo Rico -->
| ancho4 = 64
| imagen4 = File:Aldo_Rico_(cropped).jpg
| género4 = hombre
| candidato4 = [[Aldo Rico]]
| color4 = {{Color político|Movimiento por la Dignidad y la Independencia}}
| partido4 = [[Movimiento por la Dignidad y la Independencia|MODIN]]
| coalición4 = Apoyado por
| partido1_coalición4 = [[Movimiento por la Dignidad y la Independencia]]
| partido2_coalición4 = [[Fuerza Republicana]]
| partido3_coalición4 = Partido de la Independencia
| votos4 = 310069
| porcentaje4 = 1.78
| partido5 = Otros candidatos (10)
| color5 = {{Color político|Otro}}
| votos5 = 345463
| porcentaje5 = 1.99
| imagen5 = File:HSSamarbete.svg
| mapa = File:Mapa de las Elecciones Argentina 1995.png
| mapa_tamaño = 350px
| cargo = [[Archivo:Coat of arms of Argentina.svg|34px]]<br/>[[Presidente de la Nación Argentina]]
| predecesor = [[Carlos Menem]]
| partido_predecesor = [[Partido Justicialista|PJ]]/[[Frente Justicialista Popular|FREJUPO]]
| sucesor = [[Carlos Menem]]
| partido_sucesor = [[Partido Justicialista|PJ]]/[[Unión del Centro Democrático (Argentina)|UCeDé]]
}}
En las '''elecciones presidenciales de [[Argentina]] de 1995''' fue reelegido como [[presidente de la Nación Argentina|presidente de la Nación]] el [[peronista]] [[Carlos Menem]], candidato de una coalición informal del [[Partido Justicialista]] con partidos liberal-conservadores de centro-derecha, quien venció en primera vuelta al también peronista [[José Octavio Bordón]], candidato de una escisión del Partido Justicialista aliada con otras fuerzas bajo el nombre de [[Frente País Solidario]] (FREPASO). Por primera vez desde 1916, el [[Unión Cívica Radical|radicalismo]] no figuró entre las dos fuerzas políticas más votadas, quedando relegado al tercer lugar, quebrándose la estructura bipartidista peronista/radical, que caracterizó a la Argentina [[Elecciones presidenciales de Argentina de 1946|desde 1946]].<ref name=AndyTow>[http://www.andytow.com/atlas/totalpais/1995p.html Atlas Electoral de Andy Tow - Elecciones presidenciales de 1995]</ref>
Las elecciones se realizaron según las reglas del [[reforma constitucional argentina de 1994|texto constitucional definido por la reforma de 1994]], que establecieron el [[sufragio directo]] del presidente y vicepresidente, el acortamiento del mandato de seis a cuatro años, la posibilidad de una reelección inmediata y una [[segunda vuelta electoral]] (balotaje) entre los dos candidatos más votados, si ninguno obtenía en la primera vuelta una ventaja sustancial. La reforma constitucional había establecido también que el período presidencial 1989-1995 sería considerado como primer mandato y que el mandato del presidente elegido en 1995 finalizaría el 10 de diciembre de 1999, una norma excepcional que buscaba volver a sincronizar el mandato presidencial con los demás mandatos constitucionales, luego del desfasaje causado por la dimisión anticipada del presidente [[Raúl Alfonsín|Alfonsín]] en 1989.
Menem ganó en 23 de los 24 distritos electorales (En la [[Ciudad de Buenos Aires]] ganó [[José Octavio Bordón|Bordón]]).
== Antecedentes ==
{{AP|Reforma de la Constitución Argentina de 1994|Elecciones de convencionales constituyentes de Argentina de 1994|Ley de Convertibilidad del Austral}}
El [[Partido Justicialista]] había sido fundado por [[Juan Domingo Perón]] en 1946, en gran parte bajo la promesa de una mayor autosuficiencia, un aumento de la intervención estatal en la economía y un cambio en la política nacional para beneficiar a «la otra mitad» de la sociedad argentina. Al asumir la presidencia en julio de 1989, en medio de un [[Hiperinflación en Argentina|proceso hiperinflacionario]], el [[peronista]] [[Carlos Menem]] inició la privatización sistemática de las empresas estatales de Argentina, que hasta entonces producían casi la mitad de los bienes y servicios de la Nación. Después de dieciocho meses de resultados muy variados, en febrero de 1991, Menem nombró [[Ministerio de Hacienda (Argentina)|ministro de Economía]] a su [[Ministro de Relaciones Exteriores Comercio Internacional y Culto|ministro de Relaciones Exteriores]], [[Domingo Cavallo]], cuya experiencia como economista incluyó un período breve pero en gran parte positivo como presidente del [[Banco Central de la República Argentina]] en 1982. Su introducción de un tipo de cambio fijo a través de su [[Ley de Convertibilidad del Austral|Plan de Convertibilidad]] llevó a fuertes caídas en los tipos de interés y la inflación, el tipo de cambio (convertido a 1 peso por dólar en 1992) dio lugar a un salto de cinco veces en las importaciones (muy por encima del crecimiento de la demanda).
Una ola de despidos después de 1992 creó un tenso clima laboral a menudo empeorado por el extravagante Menem, que también diluyó las leyes laborales básicas, llevando a menos horas extras y aumentando el desempleo y el [[subempleo]]. A los despidos del sector privado, desestimados como una consecuencia natural de la recuperación de la productividad (que no había aumentado en veinte años), se sumaron a los despidos de las empresas estatales y a los despidos del gobierno, lo que provocó un aumento del desempleo del 7 % en 1992 al 12 % en 1994 (al mismo tiempo que el [[PBI]] había aumentado un tercio en sólo cuatro años). En esta política, la ironía era la mayor debilidad de los Justicialistas de cara a las elecciones de 1995.<ref name=todoindex>[http://www.todo-argentina.net/historia/democracia/menem1/index.html Todo Argentina: Menem]</ref>
La elección misma contó con otro giro inesperado. Teniendo prohibida la reelección inmediata por la [[Constitución argentina de 1853|constitución de 1853]], Menem se reunió con el líder de la oposición, [[Raúl Alfonsín]], ex Presidente de la Nación y Presidente del Comité Nacional de la [[Unión Cívica Radical]], en la [[Quinta de Olivos]], en noviembre de 1993 para negociar una amplia reforma constitucional. Los dos dirigentes resolvieron que la reforma sería para beneficio mutuo: la UCR se aseguraba la autonomía para la [[Ciudad de Buenos Aires]] y la creación de un [[Jefe de Gobierno de la Ciudad Autónoma de Buenos Aires|Jefe de Gobierno]] [[Elecciones en la Ciudad Autónoma de Buenos Aires de 1996|elegido directamente]] para dicha entidad federal, siendo que hasta entonces el [[Intendente de Buenos Aires]] era elegido por el presidente de la nación; y un aumento del [[Senado de la Nación Argentina|Senado]] de 48 a 72 asientos (3 por provincia, 2 para la mayoría y 1 para la minoría), lo que daba a la oposición una mayor representación. Menem, a cambio, podría presentarse a la reelección.<ref name=todoindex/><ref>[http://www.todo-argentina.net/historia/democracia/menem1/1993.html Todo Argentina: 1993]</ref> El llamado [[Pacto de Olivos]] garantizaba también que Menem no se presentaría a un tercer mandato, pues al momento de realizarse la reforma, se reconoció al primer mandato de Menem como primer período constitucional, y se decidió extender el segundo mandato hasta el 10 de diciembre de 1999.
Los dos hombres se enfrentaron a disensiones dentro de las filas de sus respectivos partidos después del anuncio de la [[Reforma de la Constitucion Argentina de 1994|reforma constitucional de 1994]]. El candidato de Alfonsín en las primarias de la UCR, el gobernador de la [[provincia de Río Negro]] [[Horacio Massaccesi]], derrotó a [[Federico Storani]] y a [[Rodolfo Terragno]] en gran parte por su oposición al Pacto de Olivos. Menem, a su vez, había perdido el apoyo de varios diputados y senadores luego de que [[Carlos Álvarez (político)|Carlos ''Chacho'' Álvarez]] separara del PJ a un grupo de [[Izquierda (política)|izquierda]] y [[Centroizquierda política|centroizquierda]] en rebelión por las privatizaciones de Menem y los escándalos de corrupción que azotaban su gobierno. Su partido [[Frente Grande]] había adquirido popularidad tras aliarse con el ex Peronista [[José Octavio Bordón]], creando el [[Frente País Solidario]] (FREPASO), que agregaba también a los [[Partido Socialista (Argentina)|socialistas]].<ref name=todo94>[http://www.todo-argentina.net/historia/democracia/menem1/1994.html Todo Argentina: 1994]</ref>
== Reglas electorales ==
Las reglas electorales fundamentales que rigieron la elección presidencial fueron establecidas en la [[Reforma constitucional argentina de 1994|reforma constitucional de 1994]], realizada el año anterior sobre la base de un [[Pacto de Olivos|acuerdo entre los dos partidos mayoritarios]].
Las principales reglas electorales para la elección presidencial fueron:
* Sufragio directo (antes era indirecto)
* Debían elegirse juntos el presidente y vicepresidente (antes el Colegio electoral tenía amplias facultades para elegir quienes serían presidente y vicepresidente)
* [[Segunda vuelta electoral]] en caso de que el ganador de la primera vuelta no alcanzara el 45% de los votos, o que superando el 40% de los votos, tuviera una diferencia con el segundo menor a 10 puntos porcentuales. Antes la elección se hacía en una sola vuelta y el presidente debía elegirse por mayoría absoluta del [[Colegio electoral]].
* Mandato presidencial de cuatro años, con posibilidad de una sola reelección inmediata. La Reforma de 1994 acortó el mandato presidencial (antes era seis años) y dispuso que el mandato 1989-1995 contaba como primer período.
Excepcionalmente, para esta sola oportunidad, la Reforma constitucional de 1994 (cláusula transitoria décima) estableció que el mandato presidencial 1995-1999, duraría más de cuatro años, comenzando el 8 de julio y finalizando el 10 de diciembre. La razón de esta excepción fue corregir el desarreglo que había producido la renuncia del presidente Alfonsín en 1989, obligando al presidente Menem a iniciar su mandato cinco meses y dos días antes, causando así un desfasaje entre el inicio de los períodos presidenciales (8 de julio) y los períodos legislativos (10 de diciembre).
== Candidaturas ==
=== Partido Justicialista ===
{| class="wikitable" style="font-size:90%; text-align:center;" width=25%
|-
| colspan="2" style="font-size:200%; background:white;" width="200%" |[[Archivo:Escudo de la Provincia de Presidente Perón -sin silueta-.svg|60px|centro|link=Partido Justicialista]]
|-
! style="font-size:135%; background:{{Color político|Partido Justicialista}};" width=50%| [[Carlos Menem|{{color|white|Carlos Menem}}]]
! style="font-size:135%; background:{{Color político|Partido Justicialista}};" width=50%| [[Carlos Ruckauf|{{color|white|Carlos Ruckauf}}]]
|- style="color:#000; font-size:100%;"
| bgcolor=#A7D3F3|'''''para presidente'''''
| bgcolor=#A7D3F3|'''''para vicepresidente'''''
|-
| {{Recortar imagen|Imagen = Menem con banda presidencial.jpg|bSize = 450|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 115|Location = center}}
| {{Recortar imagen|Imagen = Carlos Ruckauf.png|bSize = 350|cWidth = 200|cHeight = 300|oTop = 15|oLeft = 65|Location = center}}
|-
|[[Presidente de la Nación Argentina]]<br /><small>(1989-1995)</small>
|[[Anexo:Ministros del Interior de Argentina|Ministro del Interior]]<br /><small>(1993-1995)</small>
|-style="vertical-align: top;"
| colspan=2|<center>'''Candidatura apoyada por:'''</center>
{{Columnas}}
* [[Partido Justicialista]]
* [[Unión del Centro Democrático]]
* [[Partido Federal (1973)|Partido Federal]] <small>(Nacional)</small>
* [[Partido Renovador de Salta]]
* [[Acción Chaqueña]]
* [[Partido Bloquista]]
* [[Movimiento Popular Jujeño]]
* Movimiento por la Autonomía Política Jujeña
* Movimiento Popular Chubutense
* Frente de los Jubilados
* Frente Recuperación Ética:
** [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]]
** Movimiento Línea Popular
{{Nueva columna}}
* Frente Justicialista <small>(Catamarca)</small><ref group="nota">[[Partido Justicialista]], [[Unión del Centro Democrático]], [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]], [[Partido Nacionalista Constitucional]], Celeste y Blanco, Partido Demócrata de Catamarca, Movimiento Autonomista Popular.</ref>
* Frente Justicialista <small>(Entre Ríos)</small><ref group="nota">[[Partido Justicialista]], [[Unión del Centro Democrático]].</ref>
* Frente Justicialista <small>(Santiago del Estero)</small><ref group="nota">[[Partido Justicialista]], [[Partido Blanco de los Jubilados]], [[Corriente Renovadora]], Partido Tres Banderas.</ref>
* Frente Justicialista Popular <small>(Jujuy)</small><ref group="nota">[[Partido Justicialista]], [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]], Movimiento de Unidad Renovador, Tercera Época.</ref>
* Frente Justicialista Popular <small>(Misiones)</small><ref group="nota">[[Partido Justicialista]], [[Unión del Centro Democrático]], [[Partido Federal (1973)|Partido Federal]], [[Partido Nacionalista Constitucional UNIR]], Frente de los Jubilados, Movimiento Patriótico de Liberación, Partido Social Republicano.</ref>
* Frente Justicialista Popular <small>(San Juan)</small><ref group="nota">[[Partido Justicialista]], [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]], Acción Solidaria, Partido Social Republicano, Movimiento Patriótico de Liberación.</ref>
* Frente para el Cambio <small>(Río Negro)</small><ref group="nota">[[Partido Justicialista]], [[Partido Demócrata Progresista]], [[Movimiento Patagónico Popular]].</ref>
* Frente Justicialista para la Victoria <small>(Salta)</small><ref group="nota">[[Partido Justicialista]], [[Partido Federal (1973)|Partido Federal]].</ref>
* Frente de la Esperanza <small>(Tucumán)</small><ref group="nota">[[Partido Justicialista]], Cambio Democrático de Tucumán, Movimiento Popular Tucumano, Surgimiento Innovador.</ref>
{{Final columnas}}
|}
Tras la [[Reforma constitucional argentina de 1994|reforma constitucional]], que habilitaba la reelección presidencial por un segundo período consecutivo, el propio [[Carlos Menem]] podía optar por un segundo mandato. Finalizado el [[Pacto de Olivos]] y al igual que [[Raúl Alfonsín|Alfonsín]], Menem debió enfrentar una fuerte disensión dentro del [[Partido Justicialista]] entre los que estaban de acuerdo con que Menem fuera nuevamente su candidato presidencial y los que no. Antes de la reforma, el gobierno de Menem ya enfrentaba un fuerte descontento en el seno del justicialismo por sus [[Liberalismo económico|políticas económicas liberales]] y su notorio alejamiento de la doctrina [[Peronismo|peronista]], sobre todo de parte del sector de [[Izquierda política|izquierda]] y [[Centroizquierda política|centroizquierda]] del partido.<ref name=todo94/> Sin embargo, debido a que la mayoría de su oposición interna abandonó el PJ para fundar el [[Frente País Solidario]] o presentar listas legislativas separadas, Menem no tuvo grandes problemas para obtener nuevamente la candidatura justicialista a la presidencia de la Nación. Su compañero de fórmula esta vez sería [[Carlos Ruckauf]], ya que [[Eduardo Duhalde]], el exvicepresidente, había abandonado el cargo en 1991 al ser [[Elecciones provinciales de Buenos Aires de 1991|elegido]] [[gobernador de la provincia de Buenos Aires]]. En dicha provincia, Duhalde logró también reformar la constitución, mediante un plebiscito, y fue habilitado para presentarse a la reelección.<ref name=todo94/>
=== Unión Cívica Radical ===
{{AP|Primarias presidenciales de la Unión Cívica Radical de 1994}}
{| class="wikitable" style="font-size:90%; text-align:center;" width=25%
| colspan="2" style="font-size:200%; background:white;" width="200%" |[[Archivo:Escudo de la UCR.svg|75px|centro|link=Unión Cívica Radical]]
|-
! style="font-size:135%; background:{{Color político|Unión Cívica Radical}};" width="50%" | [[Horacio Massaccesi|{{color|white|Horacio Massaccesi}}]]
! style="font-size:135%; background:{{Color político|Unión Cívica Radical}};" width="50%" | [[Antonio María Hernández|{{color|white|Antonio M. Hernández}}]]
|- style="color:#000; font-size:100%;"
| bgcolor="#ffb7b7" |'''''para presidente'''''
| bgcolor="#ffb7b7" |'''''para vicepresidente'''''
|-
| {{Recortar imagen|Imagen = Horacio Massaccesi 1995.png|bSize = 250|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 40|Location = center}}
| {{Recortar imagen|Imagen = Antonio_María_Hernández.png|bSize = 400|cWidth = 200|cHeight = 300|oTop = 10|oLeft = 123|Location = center}}
|-
|[[Anexo:Gobernadores de la provincia de Río Negro|Gobernador de Río Negro]]<br /><small>(1987-1995)</small>
|[[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br />por [[Provincia de Córdoba (Argentina)|Córdoba]]<br /><small>(1991-1995)</small>
|-style="vertical-align: top;"
| colspan=2|<center>'''Candidatura apoyada por:'''</center>
* [[Unión Cívica Radical]]
* [[Movimiento de Integración y Desarrollo]]
* [[Partido Federal (1973)|Partido Federal]] <small>(Córdoba)</small>
|}
El Pacto de Olivos tuvo un impacto muy negativo sobre la Unión Cívica Radical que en las elecciones de convencionales constituyentes obtuvo el menor porcentaje de su historia hasta entonces (19,9%), aún ganando en las cuatro provincias que gobernaba ([[Provincia de Córdoba (Argentina)|Córdoba]], [[Provincia del Chubut|Chubut]], [[Provincia de Río Negro|Río Negro]] y [[Provincia de Catamarca|Catamarca]]). La irrupción del [[Frente Grande]] representó un gran peligro para el [[bipartidismo]] en general y la UCR en particular.
En 1994 la UCR debió definir mediante una primaria interna quién sería el candidato presidencial para las elecciones de 1995. Participaron aproximadamente 750.000 afiliados.<ref>[https://www.pagina12.com.ar/1998/98-11/98-11-29/pag02.htm La interna abierta], [[Página/12]]</ref> En el marco de fuertes enfrentamientos que se referían a la discusión entre pactistas y antipactistas, [[Eduardo Angeloz]], que había ganado las anteriores primarias con más del 88% de los votos y había quedado en segundo lugar en las [[Elecciones presidenciales de Argentina de 1989|elecciones de 1989]], declinó su precandidatura presidencial. Finalmente, a fines de 1994, se impuso la fórmula integrada por el gobernador de Río Negro [[Horacio Massaccesi]] y el diputado cordobés y convencional constituyente [[Antonio María Hernández]], sostenidos por Alfonsín y Angeloz, relegando a la fórmula compuesta por [[Federico Storani]] y [[Rodolfo Terragno]], apoyados por [[Juan Manuel Casella]], [[Víctor Fayad]], [[Fernando de la Rúa]], [[Horacio Usandizaga]], y [[Sergio Montiel]].
La candidatura de Massaccesi fue apoyada a su vez por el Partido Federal de Córdoba, y el [[Movimiento de Integración y Desarrollo]], aunque a diferencia de otros competidores no suscribieron una alianza formal.<ref name=AndyTow/>
{{Resultados electorales
| título= Primaria presidencial de la Unión Cívica Radical (27 de noviembre de 1994)
| elección=
| vuelta=
| mostrar_imágenes= sí
| mostrar_nombres= sí
| título_nombres= Binomio
| título_partidos= Línea interna
| mostrar_escaños= no
| color1= #E10019
| imagen1=Horacio Massaccesi 1995.png
| nombre1= [[Horacio Massaccesi]]-Antonio María Hernández
| partido1= Línea Federal
| votos1= 340.118
| porcentaje1= 62.11
| color2= #E10019
| imagen2= Federico Storani - Diputados.jpg
| nombre2= [[Federico Storani]]-[[Rodolfo Terragno]]
| partido2= [[Corriente de Opinión Nacional]]
| votos2= 207.423
| porcentaje2= 37.89
| escaños2=
| escaños_totales=
| votos_válidos=
| porcentaje_votos_válidos=
| votos_nulos=
| porcentaje_votos_nulos=
| votos_en_blanco=
| porcentaje_votos_en_blanco=
| votos_emitidos= 547.541
| porcentaje_participación=
| abstención=
| porcentaje_abstención=
| inscritos=
| población=
| anotaciones=
| fuente=
}}
=== Frente País Solidario ===
{| class="wikitable" style="font-size:90%; text-align:center;" width=25%
|-
| colspan="2" style="font-size:200%; background:white;" width="200%" |[[Frente País Solidario|{{color|black|FREPASO}}]]
|-
! colspan="1" style="font-size:135%; background:#4F85C5;" width="50%" |[[Archivo:Política Abierta para la Integridad Social.png|90x90px|centro|link=Política Abierta para la Integridad Social]]
! colspan="1" style="font-size:135%; background:#ffffff;" width="50%" |[[Archivo:Frente grande logo circular.png|50px|link=Frente Grande]]
|-
! style="font-size:120%; background:#4F85C5;" width=50%| [[José Octavio Bordón|{{color|white|José Octavio Bordón}}]]
! style="font-size:120%; background:#D22C21;" width=50%| [[Carlos Álvarez (político)|{{color|white|Carlos Álvarez}}]]
|- style="color:#000; font-size:100%;"
| bgcolor=#E0B0FF|'''''para presidente'''''
| bgcolor=#E0B0FF|'''''para vicepresidente'''''
|-
| {{Recortar imagen|Imagen = José Octavio Bordón.png|bSize = 240|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 25|Location = center}}
| {{Recortar imagen|Imagen = Carlos Chacho Álvarez (cropped).jpg|bSize = 225|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 15|Location = center}}
|-
|[[Anexo:Gobernadores de la provincia de Mendoza|Gobernador de Mendoza]]<br /><small>(1987-1991)</small>
|[[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br>por [[Capital Federal]]<br /><small>(1993-1999)</small>
|-
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* '''Movimiento de Izquierda'''
* '''Frente País Solidario:'''
** [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
** Democracia Popular para el Frente Social
** [[Frente Grande]]
** [[Partido Intransigente]]
** [[Política Abierta para la Integridad Social]]
** [[Partido Socialista Democrático (Argentina)|Partido Socialista Democrático]]
** [[Partido Socialista Popular (Argentina)|Partido Socialista Popular]]
* '''Cruzada Frente Grande:'''
** [[Cruzada Renovadora]]
** [[Frente Grande]]
** [[Partido Intransigente]]
** [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
* '''Frente PAIS:'''
** [[Política Abierta para la Integridad Social]]
** Frente de Liberación 12 de Mayo
|}
El Frente País Solidario, abreviado como FREPASO, se estableció en octubre de 1994 como una coalición entre los partidos [[Frente Grande]] y [[Política Abierta para la Integridad Social]] (PAIS).<ref>{{Cita noticia|apellidos=|nombre=|título=Bordón: "Duhalde tiene más poder que Menem"|url=http://www.lanacion.com.ar/70499-bordon-duhalde-tiene-mas-poder-que-menem|fecha=8 de junio de 1997|fechaacceso=24 de febrero de 2017|periódico=La Nación|página=}}</ref> Posteriormente adhirieron al pacto el [[Partido Intransigente]], y los dos herederos del dividido Partido Socialista (el [[Partido Socialista Popular (Argentina)|PSP]] y el [[Partido Socialista Democrático (Argentina)|PSD]]). El Frente Grande fue fundado por [[Carlos Álvarez (político)|Carlos Álvarez]] en 1993 como un desprendimiento del [[Partido Justicialista]], logrando atraer a los votantes descontentos con la reforma en las [[Elecciones de convencionales constituyentes de Argentina de 1994|elecciones de convencionales constituyentes de 1994]].
Aunque varios dirigentes de izquierda, como [[Pino Solanas|Fernando "Pino" Solanas]] se separaron del Frente Grande por su moderado programa económico, hacia 1995 el nuevo FREPASO había logrado atraer a varios radicales y peronistas inconformes con sus respectivos partidos, perfilándose como la primera amenaza seria al [[bipartidismo]] peronista-radical, imperante en el país desde [[Elecciones presidenciales de Argentina de 1946|1946]]. Pese a esta distinción, el FREPASO carecía de peso electoral fuera de los grandes centros urbanos ([[Gran Buenos Aires]], [[Rosario (Argentina)|Rosario]], [[Ciudad Autónoma de Buenos Aires|Capital Federal]], etc.) y no tenía una dirigencia organizada o integrada, lo que lo convertía en una fuerza electoral inestable.
A finales de 1994, al igual que la UCR, el FREPASO celebró una elección primaria abierta para decidir quien sería su candidato presidencial en 1995. La disputa se dio entre [[José Octavio Bordón]], líder de PAIS, y Álvarez. Dado que la interna fue abierta, el resultado no quedó demasiado claro, con Bordón imponiéndose por escaso margen ante Álvarez. La participación en la primaria fue de medio millón de votantes, siendo la tercera primaria de las realizadas ese año con mayor participación.<ref>[https://www.pagina12.com.ar/1998/98-11/98-11-01/pag16.htm Según los consultores, hay final abierto en la interna aliancista], [[Página/12]]</ref> Álvarez concurrió de todas formas a las elecciones como compañero de fórmula de Bordón, estando representados, de este modo, los dos mayores partidos de la coalición en la fórmula presidencial.
{{Resultados electorales
| título= Primaria presidencial del FREPASO de diciembre de 1994
| elección=
| vuelta=
| mostrar_imágenes= sí
| mostrar_nombres= sí
| título_nombres= Presidente
| título_partidos= Partido
| mostrar_escaños= no
| color1= ##4F85C5
| imagen1= José Octavio Bordón.png
| nombre1= [[Jos%C3%A9 Octavio Bord%C3%B3n|José Octavio Bordon]]
| partido1= [[Pol%C3%ADtica Abierta para la Integridad Social|PAIS]]
| votos1= Desconocido
| porcentaje1=
| color2= ##D22C21
| imagen2= Carlos Chacho Álvarez (cropped).jpg
| nombre2= [[Carlos %C3%81lvarez (pol%C3%ADtico)|Carlos Álvarez]]
| partido2= [[Frente Grande]]
| votos2= Desconocido
| porcentaje2=
| escaños2=
| escaños_totales=
| votos_válidos=
| porcentaje_votos_válidos=
| votos_nulos=
| porcentaje_votos_nulos=
| votos_en_blanco=
| porcentaje_votos_en_blanco=
| votos_emitidos= 500.000
| porcentaje_participación=
| abstención=
| porcentaje_abstención=
| inscritos=
| población=
| anotaciones=
| fuente=
}}
=== Otras candidaturas ===
{| class="wikitable" style="font-size:90%; text-align:center;" width="100%"
|-
| style="background:#FFFFFF;" colspan=2| [[Archivo:Logo_MODIN.png|125px|centro|link=Movimiento por la Dignidad y la Independencia]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:Alianza Sur 1995.png|125px]]
| style="background:#0059AC;" colspan=2| [[Archivo:Logo Fuerza Republicana.png|70px|link=Fuerza Republicana]]
| style="background:#E2001A;" colspan=2| [[Archivo:MST_LOGO.png|130px|link=Movimiento Socialista de los Trabajadores]]
| style="background:#F4022E;" colspan=2| [[Archivo:FUT-PO.png|150px]]
| style="background:{{Color político|Partido Socialista Auténtico (Argentina)}};" colspan=2| [[Archivo:Logo PSA.png|100px|link=Partido Socialista Auténtico (Argentina)]]
|- style="color:#000; font-size:100%"
! style="width:160px; font-size:120%; background:{{Color político|Movimiento por la Dignidad y la Independencia}};" width="50%" | [[Aldo Rico|{{color|black|Aldo Rico}}]]
! style="width:160px; font-size:120%; background:{{Color político|Movimiento por la Dignidad y la Independencia}};" width="50%" | [[Julio César Pezzano|{{color|black|Julio César Pezzano}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Comunista (Argentina)}};" width="50%" | [[Fernando Solanas|{{color|white|Fernando Solanas}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Comunista (Argentina)}};" width="50%" | {{color|white|Carlos Imizcoz}}
! style="width:160px; font-size:120%; background:#0059AC;" width="50%" | [[Fernando López de Zavalía|{{color|white|Fernando de Zavalía}}]]
! style="width:160px; font-size:120%; background:#0059AC;" width="50%" | {{color|white|Pedro Benejam}}
! style="width:160px; font-size:120%; background:#E2001A;" width="50%" | [[Luis Zamora|{{color|white|Luis Zamora}}]]
! style="width:160px; font-size:120%; background:#E2001A;" width="50%" | {{color|white|Silvia Susana Díaz}}
! style="width:160px; font-size:120%; background:#F4022E;" width="50%" | [[Jorge Altamira|{{color|#FDEF11|Jorge Altamira}}]]
! style="width:160px; font-size:120%; background:#F4022E;" width="50%" | {{color|#FDEF11|Norma Molle}}
! style="width:160px; font-size:120%; background:{{Color político|Partido Socialista Auténtico (Argentina)}};" width="50%" | [[Mario Mazzitelli|{{color|white|Mario Mazzitelli}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Socialista Auténtico (Argentina)}};" width="50%" | {{color|white|Alberto Fonseca}}
|- style="color:#000; font-size:100%"
| bgcolor=#FFF6AD|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFF6AD|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#5B84A9|'''''{{color|white|para presidente}}'''''
| bgcolor=#5B84A9|'''''{{color|white|para vicepresidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidenta}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidenta}}'''''
| bgcolor=#DC7B71|'''''{{color|white|para presidente}}'''''
| bgcolor=#DC7B71|'''''{{color|white|para vicepresidente}}'''''
|-
| {{Recortar imagen|Imagen = Aldo Rico (cropped).jpg|bSize = 300|cWidth = 155|cHeight = 155|oTop = 50|oLeft = 98|Location = center}}
|
| {{Recortar imagen|Imagen = 1985 Fernando Ezequiel "Pino" Solanas 03.jpg|bSize = 300|cWidth = 155|cHeight = 155|oTop = 150|oLeft = 50|Location = center}}
|
|
|
| {{Recortar imagen|Imagen = Luis Zamora - Diputados.jpg|bSize = 275|cWidth = 155|cHeight = 155|oTop = 35|oLeft = 60|Location = center}}
|
| [[Archivo:Jorge Altamira (cropped).jpg|155x155px]]
|
|
|
|-
| [[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br>por [[Capital Federal]]<br /><small>(1993-1997)</small>
| dirigente de jubilados
| [[Reforma constitucional argentina de 1994|Convencional constituyente]]<br />por [[Provincia de Buenos Aires|Buenos Aires]]<br /><small>(1994)</small>
|
| [[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br>por [[Buenos Aires]]<br /><small>(1989-1993)</small>
|
| periodista
|
| comerciante
|
|
|
|-style="vertical-align: top;"
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Movimiento por la Dignidad y la Independencia]]
* [[Fuerza Republicana]]
* [[Partido de la Independencia]]
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Partido Comunista (Argentina)|Partido Comunista]]
* [[Partido Comunista Revolucionario (Argentina)|Partido del Trabajo y del Pueblo]]
* Frente por la Democracia Avanzada
* Partido Socialista Obrero para la Liberación
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* Frente de Unidad Trabajadora
* [[Partido Obrero (Argentina)|Partido Obrero]]
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
|-
| style="background:#FFFFFF;" colspan=2| [[Archivo:Partido Humanista (corto).svg|75px|link=Partido Humanista (Argentina)]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:Mas_pts.png|175px]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:CORRIENTE.png|115px|link=Corriente Patria Libre]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:Movimiento Democrático Popular Antiimperialista 1995.png|100px]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:FRECOPA.png|65px]]
|- style="color:#000; font-size:100%"
! style="width:160px; font-size:120%; background:{{Color político|Partido Humanista (Argentina)}};" width="50%" | [[Lía Méndez|{{color|black|Lía Méndez}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Humanista (Argentina)}};" width="50%" | {{color|black|Liliana Ambrosio}}
! style="width:160px; font-size:120%; background:#FF0000;" width="50%" | {{color|white|Alcides Christiansen}}
! style="width:160px; font-size:120%; background:#FF0000;" width="50%" | {{color|white|José Montes}}
! style="width:160px; font-size:120%; background:#A7D3F3;" width="50%" | [[Humberto Tumini|{{color|black|Humberto Tumini}}]]
! style="width:160px; font-size:120%; background:#A7D3F3;" width="50%" | {{color|black|Jorge Emilio Reyna}}
! style="width:160px; font-size:120%; background:#555555;" width="50%" | {{color|white|Amílcar Santucho}}
! style="width:160px; font-size:120%; background:#555555;" width="50%" | {{color|white|Irma Antognazzi}}
! style="width:160px; font-size:120%; background:#B0B5BC;" width="50%" | {{color|black|Ricardo Alberto Paz}}
! style="width:160px; font-size:120%; background:#B0B5BC;" width="50%" | {{color|black|Adolfo González Chaves}}
|- style="color:#000; font-size:100%"
| bgcolor=#FFE1B7|'''''{{color|black|para presidenta}}'''''
| bgcolor=#FFE1B7|'''''{{color|black|para vicepresidenta}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#D3E4F0|'''''{{color|black|para presidente}}'''''
| bgcolor=#D3E4F0|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#969696|'''''{{color|white|para presidente}}'''''
| bgcolor=#969696|'''''{{color|white|para vicepresidenta}}'''''
| bgcolor=#D6D6D6|'''''{{color|black|para presidente}}'''''
| bgcolor=#D6D6D6|'''''{{color|black|para vicepresidente}}'''''
|-
| [[Archivo:Lía Méndez - Legislatura Porteña.png|155x155px]]
|
|
|
| {{Recortar imagen|Imagen = Humberto Tumini lanzó su pre-candidatura a Presidente.png|bSize = 250|cWidth = 155|cHeight = 155|oTop = 0|oLeft = 35|Location = center}}
|
|
|
|
|
|-
| abogada
|
|
| dirigente gremial
| exguerrillero
| exguerrillero
|
|
|
|
|-style="vertical-align: top;"
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Movimiento al Socialismo (1982)|Movimiento al Socialismo]]
* [[Partido de los Trabajadores Socialistas]]
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* Movimiento Democrático Popular Antiimperialista
* Solidaridad
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Partido Nacionalista Constitucional]]
* [[Partido Demócrata de Buenos Aires|Partido Demócrata Conservador]]
* Movimiento Popular Bonaerense
* [[Defensa Provincial - Bandera Blanca]]
* Federación Socialista Auténtico
|}
== Acceso a boletas ==
En estas elecciones los candidatos podían aparecer en más de una boleta, por ejemplo en la [[Provincia de Córdoba (Argentina)|Provincia de Córdoba]] Menem y Ruckauf fueron candidatos del [[Partido Justicialista|PJ]] y de la [[Unión del Centro Democrático|UCEDE]]; y podían no estar en todas las provincias, por ejemplo López de Zavalía y Benejam fueron candidatos sólo en la [[Provincia de Tucumán]].
{| class="wikitable" style="text-align: center; font-size: 95%;"
! rowspan=2|Provincia
! [[Carlos Menem|Menem]]/<br>[[Carlos Ruckauf|Ruckauf]]
! [[José Octavio Bordón|Bordón]]/<br>[[Carlos Álvarez (político)|Álvarez]]
! [[Horacio Massaccesi|Massaccesi]]/<br>[[Antonio María Hernández|Hernández]]
! [[Aldo Rico|Rico]]/<br>F. Pezzano
! [[Fernando Solanas|Solanas]]/<br>Imizcoz
! [[Fernando López de Zavalía|L. de Zavalía]]/<br>Benejam
! [[Luis Zamora|Zamora]]/<br>Díaz
|-
! <small>24 provincias</small>
! <small>24 provincias</small>
! <small>24 provincias</small>
! <small>24 provincias</small>
! <small>22 provincias</small>
! <small>1 provincia</small>
! <small>24 provincias</small>
|-
! style="text-align:left;"|[[Provincia de Buenos Aires|Buenos Aires]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Capital Federal]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*[[Partido Federal (1973)|PF]]
*Frente Recuperación Ética
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Catamarca|Catamarca]]
|
*Frente Justicialista
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia del Chaco|Chaco]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*[[Acción Chaqueña]]
|
*[[Frente País Solidario|FREPASO]]
*Movimiento de Izquierda
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia del Chubut|Chubut]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*Movimiento Popular Chubutense
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Córdoba (Argentina)|Córdoba]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
*[[Movimiento de Integración y Desarrollo|MID]]
*[[Partido Federal (1973)|PF]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Corrientes|Corrientes]]
|
*Frente Justicialista
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
*[[Frente Grande]]
|
*{{nowrap|[[Unión Cívica Radical|UCR]] - [[Movimiento de Integración y Desarrollo|MID]]}}
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Entre Ríos|Entre Ríos]]
|
*Frente Justicialista
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Formosa|Formosa]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Jujuy|Jujuy]]
|
*Frente Justicialista Popular
*[[Unión del Centro Democrático|UCEDE]]
*[[Movimiento Popular Jujeño]]
*Movimiento por la Autonomía Política Jujeña
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Fuerza Republicana]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de La Pampa|La Pampa]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de La Rioja (Argentina)|La Rioja]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Mendoza|Mendoza]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Misiones|Misiones]]
|
*Frente Justicialista Popular
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Neuquén|Neuquén]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Río Negro|Río Negro]]
|
*Frente para el Cambio
|
*[[Frente País Solidario|FREPASO]]
|
*[[Alianza por la Patagonia]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Salta|Salta]]
|
*Frente Justicialista para la Victoria
*[[Unión del Centro Democrático|UCEDE]]
*[[Partido Renovador de Salta]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de San Juan|San Juan]]
|
*Frente Justicialista Popular
*[[Partido Bloquista]]
|
*Cruzada Frente Grande
*Frente PAIS
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de San Luis|San Luis]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Santa Cruz (Argentina)|Santa Cruz]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
| —
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Santa Fe|Santa Fe]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*Frente de los Jubilados
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Santiago del Estero|Santiago del Estero]]
|
*Frente Justicialista
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
*[[Movimiento de Integración y Desarrollo|MID]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
| —
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Tucumán|Tucumán]]
|
*Frente de la Esperanza
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*Partido de la Independencia
|
*Alianza Sur
|
*[[Fuerza Republicana]]
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
| colspan=8 bgcolor=grey|
|-
! rowspan=2|Provincia
! [[Jorge Altamira|Altamira]]/<br>Molle
! [[Mario Mazzitelli|Mazzitelli]]/<br>Fonseca
! [[Lía Méndez|Méndez]]/<br>Ambrosio
! Christiansen/<br>Montes
! [[Humberto Tumini|Tumini]]/<br>Reyna
! Santucho/<br>Antognazzi
! Paz<ref name="ongania" group="nota"/>/<br>G. Chávez
|-
! <small>24 provincias</small>
! <small>3 provincias</small>
! <small>24 provincias</small>
! <small>22 provincias</small>
! <small>22 provincias</small>
! <small>10 provincias</small>
! <small>9 provincias</small>
|-
! style="text-align:left;"|[[Provincia de Buenos Aires|Buenos Aires]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
|
*[[Partido Socialista Auténtico (Argentina)|PSA]]
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
|
*FRECOPA
|-
! style="text-align:left;"|[[Capital Federal]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
|
*[[Partido Socialista Auténtico (Argentina)|PSA]]
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Catamarca|Catamarca]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia del Chaco|Chaco]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia del Chubut|Chubut]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Córdoba (Argentina)|Córdoba]]
|
*[[Partido Obrero (Argentina)|Partido Obrero]]
|
*[[Partido Socialista Auténtico (Argentina)|PSA]]
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
*Solidaridad
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Corrientes|Corrientes]]
|
*[[Partido Obrero (Argentina)|Partido Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Entre Ríos|Entre Ríos]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Formosa|Formosa]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
| —
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de Jujuy|Jujuy]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de La Pampa|La Pampa]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de La Rioja (Argentina)|La Rioja]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
| —
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de Mendoza|Mendoza]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Misiones|Misiones]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Neuquén|Neuquén]]
|
*[[Partido Obrero (Argentina)|Partido Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Río Negro|Río Negro]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Salta|Salta]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de San Juan|San Juan]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de San Luis|San Luis]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de Santa Cruz (Argentina)|Santa Cruz]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
| —
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Santa Fe|Santa Fe]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Santiago del Estero|Santiago del Estero]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
| —
| —
| —
|-
! style="text-align:left;"|[[Provincia de Tucumán|Tucumán]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|}
=== Boletas en Capital Federal ===
<gallery mode="packed" heights="169px">
Boleta elecciones argentinas de 1995 - Partido Justicialista.jpg|Partido Justicialista
Boleta elecciones argentinas de 1995 - UCEDE.jpg|Unión del Centro Democrático
Boleta elecciones argentinas de 1995 - Federal.jpg|Partido Federal
Boleta elecciones argentinas de 1995 - Frente Recuperacion Etica.jpg|Frente Recuperación Ética
Boleta elecciones argentinas de 1995 - FREPASO.jpg|Frente País Solidario
Boleta elecciones argentinas de 1995 - UCR.jpg|Unión Cívica Radical
Boleta elecciones argentinas de 1995 - MODIN.jpg|Movimiento por la Dignidad y la Independencia
Boleta elecciones argentinas de 1995 - SUR.jpg|Alianza Sur
Boleta elecciones argentinas de 1995 - MST.jpg|Movimiento Socialista de los Trabajadores
Boleta elecciones argentinas de 1995 - Obrero.jpg|Frente Unidad Trabajadora - Obrero
Boleta elecciones argentinas de 1995 - Socialista Autentico.jpg|Partido Socialista Auténtico
Boleta elecciones argentinas de 1995 - Humanista.jpg|Partido Humanista
Boleta elecciones argentinas de 1995 - MAS PTS.jpg|Movimiento al Socialismo - Partido de los Trabajadores Socialistas
Boleta elecciones argentinas de 1995 - Patria Libre.jpg|Corriente Patria Libre
Boleta elecciones argentinas de 1995 - MODEPA.jpg|Movimiento Democrático Popular Antiimperialista
Boleta elecciones argentinas de 1995 - FRECOPA.jpg|Frente para la Coincidencia Patriótica
</gallery>
== Campaña ==
La nueva constitución daba diversas oportunidades a los partidos que quedaran segundo o tercero (lugar que era ampliamente disputado entre el FREPASO y la UCR), respectivamente. Se había abolido definitivamente el antiguo sistema de [[Colegio Electoral]] utilizado hasta 1989, por lo que podía lograrse la victoria por voto directo, además de que existía la posibilidad de una [[segunda vuelta electoral]] si un candidato obtenía menos del 45% de los votos. Los justicialistas gozaban de una clara ventaja, dadas las encuestas y su control de ambas cámaras del Congreso; pero las grietas comenzaron a desarrollarse al culminar el año 1994. La prosperidad local, garante de la presunta victoria de Menem, fue sacudida por la [[Crisis económica de México de 1994|crisis del peso mexicano]] en [[diciembre]]. Al depender de la inversión extranjera para mantener sus reservas en el Banco Central, que perdió más de seis millones de dólares estadounidenses en días, su repentina escasez llevó a una oleada de fuga de capitales de los bancos en crecimiento de [[Buenos Aires]] y a una recesión imprevista. Las revelaciones simultáneas de la corrupción brutal que rodea la compra de computadoras de [[IBM]] para el anticuado Banco Nacional de la República Argentina (el más grande del país), dio a la oposición la esperanza de que podría llegarse a un balotaje en [[mayo]].<ref name=todo94/>
Entre la oposición, el FREPASO tenía ventaja en las encuestas para quedar segundo detrás del PJ. Con un liderazgo carismático, esperaban desplazar a la UCR (el partido más antiguo de la Argentina) de su papel de principal oposición a los peronistas. La UCR había salido muy perjudicada por el caótico mandato de [[Raúl Alfonsín]] (1983-1989) y su papel de oposición al justicialismo fue puesto en duda por el [[Pacto de Olivos]] y la reforma constitucional que habilitó la reelección de Menem, aunque su candidato, [[Horacio Massaccesi]], había obtenido fama internacional por incautar los fondos del Tesoro de la sucursal regional del Banco Central para pagar los sueldos atrasados de los jubilados y la administración pública, lo que le había valido una reelección en su cargo de gobernador de Río Negro con el 46% de los votos.<ref>[http://www.clarin.com/diario/1997/08/10/i-00903e.htm ''Clarín'']</ref> La UCR, por otra parte, conservaba el renombre político y su antigüedad, más allá de la maquinaria desgastada por el liderazgo de Alfonsín y el popular [[Gobernadores de la Provincia de Córdoba|gobernador de Córdoba]], [[Eduardo Angeloz]]. A medida que se acercaba el día de las elecciones, los analistas no solo debatían la posibilidad de un balotaje, sino también que ambas fuerzas opositoras (FREPASO y UCR) tenían posibilidades de pasar al mismo junto a Menem.<ref>''La Nación.'' May 13, 1995.</ref>
Durante la campaña, Menem defendió su programa de gobierno, señalando el éxito económico logrado por la Argentina durante su mandato, y haciendo hincapié en la [[Hiperinflación argentina de 1989 y 1990|hiperinflación]] provocada por el radicalismo antes de su llegada al poder, afirmando, como lema de campaña: "Soy yo o el caos", postura que fue criticada duramente por otros candidatos.<ref name="elpais">[https://elpais.com/diario/1995/05/15/internacional/800488816_850215.html El desgaste político no hizo mella en el electorado], ''[[El País]]'', 15 de mayo de 1995</ref><ref name="IPU">[http://archive.ipu.org/parline-e/reports/arc/2011_95.htm IPU Elections in 1995] {{en}}</ref> Bordón, por otro lado, acusó a Menem de desvirtuarse de los principios justicialistas. Su campaña se centró en el tema de la corrupción en los círculos gobernantes y la repercusión social (especialmente el desempleo) de las reformas económicas del gobierno menemista, particularmente en las clases bajas de Argentina.<ref name="IPU"/>
Por otro lado, la campaña de Massaccesi fue vista como "desorientada". Mientras que el FREPASO criticaba los negativos efectos sociales de las políticas de Menem, la UCR se limitaba a resaltar fallos técnicos y a destacar la corrupción, evidenciando la severa crisis que atravesaba el radicalismo.<ref name="IPU"/> El triunfo de Massaccesi en la primaria radical se había debido en gran medida a la abstención de Angeloz, y a la intención de amplios sectores de la UCR que querían impedir que [[Federico Storani]] llegara a la conducción del partido y buscara una alianza con el FREPASO (posición que irónicamente buscaría el partido luego de la estrepitosa derrota).<ref>[https://www.pagina12.com.ar/1998/98-11/98-11-29/pag02.htm El día en que la Alianza se prueba la banda], ''Página/12'', 29 de noviembre de 1998</ref> Sin embargo, Massaccesi era en realidad profundamente impopular entre el electorado radical y gran parte de la conducción partidaria, y su relativa cercanía con el gobierno menemista durante su período como gobernador le habían valido el apodo despectivo de "Menem rubio".<ref>[http://www.diariopublicable.com/aniversario/774-1995-aqui-me-quedo.html 1995 | Aquí me quedo] {{Wayback|url=http://www.diariopublicable.com/aniversario/774-1995-aqui-me-quedo.html |date=20181112021754 }}, ''Publicable'', 21 de diciembre de 2012</ref>
El antiguo líder de los [[Carapintadas]], [[Aldo Rico]], se presentó como candidato del [[Movimiento por la Dignidad y la Independencia]] (Modin), y proponía la renegociación de la cuantiosa deuda externa, el fin de la convertibilidad, que establece la paridad entre el dólar y el peso, y la creación de una confederación de Estados latinoamericanos.<ref name="elpais"/>
En el último período previo a las elecciones, las encuestas daban la victoria a Menem, prediciendo que si bien quizás no superase el 45% de los votos, accedería a un segundo mandato en primera vuelta debido a que Bordón y Massaccesi se contrapesarían mutuamente y ninguno de los dos lograría obtener el suficiente porcentaje para acceder a un balotaje. A pesar de que varios sondeos predecían la ruptura del bipartidismo desde un mes antes de la elección, Massaccesi declaró no confiar en las encuestas, calificándolas de "maniobra sucia".<ref>[https://www.youtube.com/watch?v=AtM7Bsj5XeI DiFilm, entrevista Massaccesi]</ref>
== Resultados ==
La jornada electora fue considerada tranquila, y fue celebrada por ser la primera ocasión desde las [[Elecciones presidenciales de Argentina de 1928|elecciones de 1928]] en que un período democrático llegaba a su tercera elección presidencial.<ref name=elpais2>[https://elpais.com/diario/1995/05/15/internacional/800488817_850215.html Menem, reelegido presidente, según los sondeos], El País, 15 de mayo de 1995</ref> Después de emitir su voto en La Rioja, se le preguntó a Menem si estaba tranquilo, a lo que él respondió "¿Por qué iba a estar intranquilo?".<ref name=elpais2/>
En última instancia, la corrupción y la súbita recesión no fueron suficientes para evitar que Menem obtuviera una rotunda victoria en primera vuelta con casi el 50% de los votos. El PJ se alió con varios partidos regionales y con la derechista [[Unión del Centro Democrático]], formando un frente electoral que obtuvo casi la mitad del voto total. La división de la oposición en dos bloques contrapuestos impidió que alguno de los dos candidatos opositores obtuviera el suficiente porcentaje para que Menem no pudiera evitar un balotaje. El FREPASO obtuvo cerca del 30% de los votos, y la UCR menos del 17%, siendo la primera vez que el partido más antiguo no quedaba en primer o segundo lugar. Menem triunfó en todas las provincias, excepto en la [[Ciudad de Buenos Aires]], donde Bordón obtuvo el 44.53% de los votos, superando por casi tres puntos al candidato justicialista.
A pesar de la ruptura del [[bipartidismo]] en el plano presidencial, en las [[Elecciones legislativas de Argentina de 1995|elecciones legislativas]] la UCR mantuvo el segundo lugar tanto en número de votos como en diputados.<ref>[http://www.todo-argentina.net/historia/democracia/menem1/1995.html Todo Argentina: 1995]</ref> Esto se debió a la presencia parlamentaria previa de la UCR, y al hecho de que el FREPASO carecía de peso electoral fuera de los grandes centros urbanos ([[Ciudad de Buenos Aires|Capital Federal]], el [[Gran Buenos Aires]], [[Rosario (Argentina)|Rosario]], etc). El nuevo Senado, tal y como habían predicho Alfonsín y Menem, benefició a los dos partidos.<ref name=micro/>
En las elecciones provinciales, la UCR fue el único frente opositor nacional que obtuvo gobernaciones, con cinco gobernadores radicales contra quince justicialistas. En las tres provincias restantes, [[Tucumán]], [[Provincia de Neuquén|Neuquén]] y [[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]], fueron elegidos gobernadores por partidos provinciales ([[Fuerza Republicana]], [[Movimiento Popular Neuquino]] y [[Movimiento Popular Fueguino]] respectivamente). A nivel municipal, solo dos de las ciudades más importantes de Argentina, [[Bahía Blanca]] y [[Mar del Plata]], mantenían intendentes de la UCR, aunque en 1996, el candidato radical [[Fernando de la Rúa]] se convertiría en el primer Jefe de Gobierno [[Elecciones en la Ciudad Autónoma de Buenos Aires de 1996|electo]] de la [[Ciudad de Buenos Aires]].<ref name=micro>[http://www.fcen.uba.ar/prensa/micro/1995/ms195a.htm Microsemanario 195}]</ref>
[[File:Resultados de las Elecciones presidenciales de Argentina de 1995 (por departamento).svg|thumb|right|300px|Resultados por departamento:
{{leyenda|{{Color político|Partido Justicialista}}|[[Carlos Menem|Menem]]/[[Carlos Ruckauf|Ruckauf]]}}
{{leyenda|{{Color político|Frente País Solidario}}|[[José Octavio Bordón|Bordón]]/[[Carlos Álvarez (político)|Álvarez]]}}
{{leyenda|{{Color político|Unión Cívica Radical}}|[[Horacio Massaccesi|Massaccesi]]/[[Antonio María Hernández|Hernández]]}}
{{leyenda|#CCCCCC|[[Departamento Islas del Atlántico Sur|No votó]]}}]]
{| class="wikitable" style="text-align:right;"
|-
!colspan=2|Fórmula
!rowspan=2 colspan=3|Partido o alianza
!rowspan=2|Votos
!rowspan=2|%
|-
!Presidente
!Vicepresidente
|-
| align=left rowspan=17 bgcolor=#cfc|'''[[Carlos Menem]]'''
| align=left rowspan=17 bgcolor=#cfc|'''[[Carlos Ruckauf]]'''
| style="background-color:lightblue;border-bottom-style:hidden;" rowspan=16|
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|[[Partido Justicialista]]
| 6.300.057
| 36,22
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente Justicialista
| 691.481
| 3,98
|-
| bgcolor={{Color político|Unión del Centro Democrático}}|
| align=left|[[Unión del Centro Democrático]]
| 456.594
| 2,62
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|[[Frente Justicialista Popular]]
| 382.447
| 2,20
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente de la Esperanza
| 215.531
| 1,24
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente Justicialista para la Victoria
| 129.290
| 0,74
|-
| bgcolor={{Color político|Otro}}|
| align=left|Frente Recuperación Ética
| 103.014
| 0,59
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente para el Cambio
| 99.230
| 0,57
|-
| bgcolor={{Color político|Otro}}|
| align=left|Frente de los Jubilados
| 74.561
| 0,43
|-
| bgcolor={{Color político|Partido Renovador de Salta}}|
| align=left|[[Partido Renovador de Salta]]
| 73.202
| 0,42
|-
| bgcolor={{Color político|Acción Chaqueña}}|
| align=left|[[Acción Chaqueña]]
| 49.821
| 0,29
|-
| bgcolor={{Color político|Partido Federal (1973)}}|
| align=left|[[Partido Federal (1973)|Partido Federal (Capital Federal)]]
| 48.287
| 0,28
|-
| bgcolor={{Color político|Partido Bloquista de San Juan}}|
| align=left|[[Partido Bloquista]]
| 32.841
| 0,19
|-
| bgcolor={{Color político|Movimiento Popular Jujeño}}|
| align=left|[[Movimiento Popular Jujeño]]
| 22.386
| 0,13
|-
| bgcolor={{Color político|Otro}}|
| align=left|Movimiento por la Autonomía Política Jujeña
| 4.935
| 0,03
|-
| bgcolor={{Color político|Otro}}|
| align=left|Movimiento Popular Chubutense
| 3.642
| 0,02
|- bgcolor=lightblue
| colspan=3 align=left| Total Menem - Ruckauf
| 8.687.511
| 49,94
|-
| align=left rowspan=6|[[José Octavio Bordón]]
| align=left rowspan=6|[[Carlos Álvarez (político)|Carlos Álvarez]]
| style="background-color:Plum;border-bottom-style:hidden;" rowspan=5|
| bgcolor={{Color político|Frente País Solidario}}|
| align=left|[[Frente País Solidario]]
| 4.934.989
| 28,37
|-
| bgcolor={{Color político|Cruzada Renovadora}}|
| align=left|Cruzada Frente Grande
| 57.311
| 0,33
|-
| bgcolor={{Color político|Frente Grande}}|
| align=left|[[Frente Grande]]
| 54.008
| 0,31
|-
| bgcolor={{Color político|Política Abierta para la Integridad Social}}|
| align=left|Frente PAIS
| 28.382
| 0,16
|-
| bgcolor={{Color político|Otro}}|
| align=left|Movimiento de Izquierda
| 21.414
| 0,12
|- bgcolor=Plum
| colspan=3 align=left| Total Bordón - Álvarez
| 5.096.104
| 29,30
|-
| align=left rowspan=6|[[Horacio Massaccesi]]
| align=left rowspan=6|[[Antonio María Hernández]]
| style="background-color:pink;border-bottom-style:hidden;" rowspan=5|
| bgcolor={{Color político|Unión Cívica Radical}}|
| align=left|[[Unión Cívica Radical]]
| 2.773.037
| 15,94
|-
| bgcolor={{Color político|Unión Cívica Radical}}|
| align=left|[[Alianza por la Patagonia]]
| 84.172
| 0,48
|-
| bgcolor={{Color político|Unión Cívica Radical}}|
| align=left|[[Unión Cívica Radical]] - [[Movimiento de Integración y Desarrollo]]
| 57.082
| 0,33
|-
| bgcolor={{Color político|Movimiento de Integración y Desarrollo}}|
| align=left|[[Movimiento de Integración y Desarrollo]]
| 30.588
| 0,18
|-
| bgcolor={{Color político|Partido Federal (1973)}}|
| align=left|[[Partido Federal (1973)|Partido Federal (Córdoba)]]
| 11.258
| 0,06
|- bgcolor=pink
| colspan=3 align=left| Total Massaccesi - Hernández
| 2.956.137
| 16,99
|-
| align=left rowspan=4|[[Aldo Rico]]
| align=left rowspan=4|Julio César Fernández Pezzano
| style="background-color:khaki;border-bottom-style:hidden;" rowspan=3|
| bgcolor={{Color político|Movimiento por la Dignidad y la Independencia}}|
| align=left|[[Movimiento por la Dignidad y la Independencia]]
| 291.306
| 1,67
|-
| bgcolor={{Color político|Fuerza Republicana}}|
| align=left|[[Fuerza Republicana|Fuerza Republicana (Jujuy)]]
| 15.602
| 0,09
|-
| bgcolor={{Color político|Otro}}|
| align=left|Partido de la Independencia
| 3.161
| 0,02
|- bgcolor=khaki
| colspan=3 align=left| Total Rico - Fernández Pezzano
| 310.069
| 1,78
|-
| align=left|[[Fernando Solanas]]
| align=left|Carlos Imizcoz
| bgcolor=#389B00|
| align=left colspan=2|Alianza Sur
| 71.625
| 0,41
|-
| align=left|[[Fernando López de Zavalía]]
| align=left|Pedro Benejam
| bgcolor={{Color político|Fuerza Republicana}}|
| align=left colspan=2|[[Fuerza Republicana|Fuerza Republicana (Tucumán)]]
| 64.007
| 0,37
|-
| align=left|[[Luis Zamora]]
| align=left|Silvia Susana Díaz
| bgcolor={{Color político|Movimiento Socialista de los Trabajadores}}|
| align=left colspan=2|[[Movimiento Socialista de los Trabajadores]]
| 45.973
| 0,26
|-
| align=left rowspan=4|[[Jorge Altamira]]
| align=left rowspan=4|Norma Graciela Molle
| style="background-color:coral;border-bottom-style:hidden;" rowspan=3|
| bgcolor={{Color político|Partido Obrero (Argentina)}}|
| align=left|Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| 28.329
| 0,16
|-
| bgcolor={{Color político|Partido Obrero (Argentina)}}|
| align=left|[[Partido Obrero (Argentina)|Partido Obrero]]
| 2.789
| 0,02
|-
| bgcolor={{Color político|Partido Obrero (Argentina)}}|
| align=left|Frente Unidad Trabajadora
| 1.181
| 0,01
|- bgcolor=coral
| colspan=3 align=left| Total Altamira - Molle
| 32.299
| 0,19
|-
| align=left|[[Mario Mazzitelli]]
| align=left|Alberto Raúl Fonseca
| bgcolor={{Color político|Partido Socialista Auténtico (Argentina)}}|
| align=left colspan=2|[[Partido Socialista Auténtico (Argentina)|Partido Socialista Auténtico]]
| 32.174
| 0,18
|-
| align=left|[[Lía Méndez]]
| align=left|Liliana Beatriz Ambrosio
| bgcolor={{Color político|Partido Humanista (Argentina)}}|
| align=left colspan=2|[[Partido Humanista (Argentina)|Partido Humanista]]
| 31.203
| 0,18
|-
| align=left|Alcides Christiansen
| align=left|José Alberto Montes
| bgcolor={{Color político|Movimiento al Socialismo (1982)}}|
| align=left colspan=2|[[Movimiento al Socialismo (1982)|Movimiento al Socialismo]] - [[Partido de los Trabajadores Socialistas|de los Trabajadores Socialistas]]
| 27.643
| 0,16
|-
| align=left|[[Humberto Tumini]]
| align=left|Jorge Emilio Reyna
| bgcolor={{Color político|Corriente Patria Libre}}|
| align=left colspan=2|[[Corriente Patria Libre]]
| 24.326
| 0,14
|-
| align=left rowspan=3|Amílcar Santucho
| align=left rowspan=3|Irma Antognazzi
| style="background-color:silver;border-bottom-style:hidden;" rowspan=2|
| bgcolor=#555555|
| align=left|Movimiento Democrático Popular Antiimperialista
| 12.919
| 0,07
|-
| bgcolor=#555555|
| align=left|Solidaridad
| 147
| 0,00
|- bgcolor=silver
| colspan=3 align=left| Total Santucho - Antognazzi
| 13.066
| 0,08
|-
| align=left|Ricardo Alberto Paz<ref name="ongania" group="nota">[[Juan Carlos Onganía]], ex dictador entre 1966 y 1970, era originalmente candidato a presidente mientras que Ricardo Alberto Paz era candidato a vicepresidente. Antes de la elección Onganía renunció a la fórmula por cuestiones de salud, aunque su nombre seguía apareciendo en la boleta. Murió tres semanas después de realizada la elección.</ref>
| align=left|Adolfo González Chávez
| bgcolor=#B0B5BC|
| align=left colspan=2|Frente para la Coincidencia Patriótica
| 3.147
| 0,02
|-
! style="text-align:left;" colspan=5| Votos positivos
! style="text-align:right;"| 17.395.284
! style="text-align:right;"| 95,56
|-
| colspan=5 align=left| Votos en blanco
| 653.443
| 3,59
|-
| colspan=5 align=left| Votos anulados
| 125.112
| 0,69
|-
| colspan=5 align=left| Diferencia de actas
| 30.085
| 0,16
|-
! style="text-align:left;" colspan=5| Participación
! style="text-align:right;"| 18.203.924
! style="text-align:right;"| 82,08
|-
| colspan=5 align=left| Abstenciones
| 3.974.277
| 17,92
|-
! style="text-align:left;" colspan=5| Electores registrados
! style="text-align:right;"| 22.178.201
! style="text-align:right;"| 100
|-
| colspan=7 align=left|Fuentes:<ref>{{Cita web |url=https://recorriendo.elecciones.gob.ar/presidente1995.html#/3/1 |título=Recorriendo las Elecciones de 1983 a 2013 |sitioweb=Dirección Nacional Electoral |urlarchivo=https://web.archive.org/web/20220817185108/https://recorriendo.elecciones.gob.ar/presidente1995.html#/3/1 |fechaarchivo=17 de agosto de 2022}}</ref><ref>{{Cita web |url=https://www.mininterior.gov.ar/asuntos_politicos_y_alectorales/dine/infogral/RESULTADOS%20HISTORICOS/1995.pdf |título=Elecciones Nacionales ESCRUTINIO DEFINITIVO 1995 |sitioweb=[[Ministerio del Interior (Argentina)|Ministerio del Interior]] |formato=PDF |urlarchivo=https://web.archive.org/web/20180319213604/http://www.mininterior.gov.ar/asuntos_politicos_y_alectorales/dine/infogral/RESULTADOS%20HISTORICOS/1995.pdf |fechaarchivo=19 de marzo de 2018}}</ref>
|}
=== Resultados por distrito ===
{| class="wikitable sortable" style="text-align: center;"
! rowspan=2 | Provincia
! colspan=2 | [[Carlos Menem|Menem]]/[[Carlos Ruckauf|Ruckauf]]<br />([[Partido Justicialista|PJ]])
! colspan=2 | [[José Octavio Bordón|Bordón]]/[[Carlos Álvarez (político)|Álvarez]]<br />([[Frente País Solidario|FREPASO]])
! colspan=2 | [[Horacio Massaccesi|Massaccesi]]/[[Antonio María Hernández|Hernández]]<br />([[Unión Cívica Radical|UCR]])
! colspan=2 | Otras<br />fuerzas
! colspan=2 | Blancos/Nulos/Dif.
! colspan=2 | Participación
|-
! Votos
! %
! Votos
! %
! Votos
! %
! Votos
! %
! Votos
! %
! Votos
! %
|-bgcolor=#B0CEFF
| [[Provincia de Buenos Aires|Buenos Aires]]
| {{orden|3419089|'''3.419.089'''}}
| '''51,81'''
| {{orden|1965708|1.965.708}}
| 29,79
| 916.912
| 13,89
| 297.350
| 4,51
| 297.863
| 4,32
| {{orden|6896922|6.896.922}}
| 84,00
|-bgcolor=#e8b0e8
| [[Capital Federal]]
| 862.365
| 42,71
| '''879.230'''
| '''43,53'''
| 215.382
| 10,66
| 62.605
| 3,10
| 47.522
| 2,30
| {{orden|2067104|2.067.104}}
| 81,70
|-bgcolor=#B0CEFF
| [[Provincia de Catamarca|Catamarca]]
| '''63.701'''
| '''52,29'''
| 19.339
| 15,88
| 37.528
| 30,81
| 1.247
| 1,02
| 23.718
| 16,30
| 145.533
| 83,01
|-bgcolor=#B0CEFF
| [[Provincia del Chaco|Chaco]]
| '''207.857'''
| '''45,82'''
| 72.284
| 18,03
| 101.763
| 29,88
| 9.085
| 2,27
| 9.807
| 2,39
| 410.796
| 75,58
|-bgcolor=#B0CEFF
| [[Provincia del Chubut|Chubut]]
| '''95.228'''
| '''57,15'''
| 25.084
| 15,05
| 42.891
| 25,74
| 3.426
| 2,06
| 12.528
| 6,99
| 179.157
| 81,11
|-bgcolor=#B0CEFF
| [[Provincia de Córdoba (Argentina)|Córdoba]]
| '''752.704'''
| '''48,15'''
| 324.746
| 20,77
| 451.719
| 28,90
| 34.059
| 2,18
| 98.263
| 5,91
| {{orden|1661491|1.661.491}}
| 83,78
|-bgcolor=#B0CEFF
| [[Provincia de Corrientes|Corrientes]]
| '''165.517'''
| '''46,61'''
| 121.999
| 34,36
| 57.082
| 16,08
| 10.484
| 2,95
| 44.947
| 11,24
| 400.029
| 74,58
|-bgcolor=#B0CEFF
| [[Provincia de Entre Ríos|Entre Ríos]]
| '''272.819'''
| '''46,15'''
| 146.086
| 24,71
| 157.112
| 26,58
| 15.105
| 2,56
| 25.065
| 4,07
| 616.187
| 85,20
|-bgcolor=#B0CEFF
| [[Provincia de Formosa|Formosa]]
| '''85.227'''
| '''49,42'''
| 29.022
| 16,83
| 53.778
| 31,18
| 4.431
| 2,57
| 4.825
| 2,72
| 177.283
| 73,34
|-bgcolor=#B0CEFF
| [[Provincia de Jujuy|Jujuy]]
| '''101.642'''
| '''46,81'''
| 46.513
| 21,42
| 50.000
| 23,03
| 18.987
| 8,74
| 11.394
| 4,99
| 228.536
| 76,10
|-bgcolor=#B0CEFF
| [[Provincia de La Pampa|La Pampa]]
| '''77.506'''
| '''50,39'''
| 37.032
| 24,08
| 34.892
| 22,69
| 4.377
| 2,85
| 12.276
| 7,39
| 166.083
| 87,99
|-bgcolor=#B0CEFF
| [[Provincia de La Rioja (Argentina)|La Rioja]]
| '''91.803'''
| '''76,10'''
| 7.588
| 6,29
| 19.945
| 16,53
| 1.295
| 1,07
| 5.382
| 4,27
| 126.013
| 84,59
|-bgcolor=#B0CEFF
| [[Provincia de Mendoza|Mendoza]]
| '''376.972'''
| '''51,69'''
| 246.924
| 33,86
| 88.657
| 12,16
| 16.715
| 2,29
| 62.813
| 7,93
| 792.081
| 85,37
|-bgcolor=#B0CEFF
| [[Provincia de Misiones|Misiones]]
| '''180.571'''
| '''50,31'''
| 30.655
| 8,54
| 138.583
| 38,61
| 9.143
| 2,55
| 9.301
| 2,53
| 368.253
| 76,56
|-bgcolor=#B0CEFF
| [[Provincia de Neuquén|Neuquén]]
| '''99.033'''
| '''53,63'''
| 47.302
| 25,61
| 29.977
| 16,23
| 8.363
| 4,53
| 16.311
| 8,12
| 200.986
| 84,46
|-bgcolor=#B0CEFF
| [[Provincia de Río Negro|Río Negro]]
| '''99.230'''
| '''44,01'''
| 36.183
| 16,05
| 84.172
| 37,33
| 5.893
| 2,61
| 11.480
| 4,84
| 236.958
| 83,20
|-bgcolor=#B0CEFF
| [[Provincia de Salta|Salta]]
| '''209.291'''
| '''53,58'''
| 96.812
| 24,79
| 65.179
| 16,69
| 19.312
| 4,94
| 14.767
| 3,64
| 405.361
| 75,66
|-bgcolor=#B0CEFF
| [[Provincia de San Juan|San Juan]]
| '''167.205'''
| '''59,19'''
| 85.693
| 30,34
| 27.550
| 9,75
| 2.018
| 0,71
| 16.747
| 5,60
| 299.213
| 84,37
|-bgcolor=#B0CEFF
| [[Provincia de San Luis|San Luis]]
| '''87.369'''
| '''55,33'''
| 39.944
| 25,30
| 27.038
| 17,12
| 3.549
| 2,25
| 4.140
| 2,55
| 162.040
| 80,22
|-bgcolor=#B0CEFF
| [[Provincia de Santa Cruz (Argentina)|Santa Cruz]]
| '''41.666'''
| '''58,08'''
| 16.342
| 22,78
| 12.374
| 17,25
| 1.361
| 1,90
| 3.397
| 4,52
| 75.140
| 81,00
|-bgcolor=#B0CEFF
| [[Provincia de Santa Fe|Santa Fe]]
| '''744.576'''
| '''46,94'''
| 593.965
| 37,44
| 199.473
| 12,57
| 48.258
| 3,04
| 51.949
| 3,17
| {{orden|1638221|1.638.221}}
| 81,94
|-bgcolor=#B0CEFF
| [[Provincia de Santiago del Estero|Santiago del Estero]]
| '''202.077'''
| '''64,10'''
| 31.965
| 10,14
| 78.354
| 24,85
| 2.878
| 0,91
| 5.674
| 1,77
| 320.948
| 71,32
|-bgcolor=#B0CEFF
| [[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]]
| '''21.509'''
| '''61,19'''
| 7.892
| 22,45
| 4.639
| 13,20
| 1.114
| 3,17
| 1.211
| 3,33
| 36.365
| 73,30
|-bgcolor=#B0CEFF
| [[Provincia de Tucumán|Tucumán]]
| '''262.554'''
| '''45,59'''
| 167.796
| 29,13
| 71.137
| 12,35
| 74.477
| 12,93
| 17.260
| 2,91
| 593.224
| 78,06
|-class=sortbottom
| '''Total'''
| '''8.687.511'''
| '''49,94'''
| 5.096.104
| 29,30
| 2.956.137
| 16,99
| 655.532
| 3,77
| 808.640
| 4,44
| 18.203.924
| 82,08
|}
== Consecuencias ==
Menem asumió su segundo mandato el 8 de julio de 1995. Sin embargo, las disposiciones impuestas por la reforma constitucional extendían este mandato hasta el 10 de diciembre de 1999, ya que el mandato original de Menem debería haber iniciado el 10 de diciembre de 1989, y se adelantó por el traspaso de mando anticipado de [[Raúl Alfonsín]]. A pesar de que algunos sectores del justicialismo sugirieron modificar la constitución para que el primer mandato de Menem no contara como tal y este pudiera presentarse a un tercer período, tanto la UCR como el FREPASO, e incluso varios diputados del PJ declararon públicamente que no apoyarían tal idea y la propuesta quedó en un punto muerto, pues era imposible permitir una segunda reelección de Menem sin el voto de una mayoría de dos tercios en ambas cámaras del Congreso.<ref>[http://www.lanacion.com.ar/123992-menem-volvio-a-instalar-la-reeleccion Menem volvió a instalar la reelección], ''[[La Nación (Argentina)|La Nación]]'', 9 de enero de 1999</ref>
Las primeras [[Elecciones en la Ciudad Autónoma de Buenos Aires de 1996|elecciones para Jefe de Gobierno y convencionales estatuyentes]] de la [[Ciudad Autónoma de Buenos Aires]] se realizaron el 30 de junio de 1996. El candidato de la UCR, [[Fernando de la Rúa]], obtuvo una amplia victoria, mientras que el FREPASO quedó en segundo lugar y el PJ quedó relegado al tercer puesto. Tras la aplastante victoria del justicialismo en 1995, la UCR y el FREPASO, que hasta entonces habían mostrado una actitud abiertamente enfrentada y ni siquiera habían afirmado si se apoyarían o no en un eventual balotaje, se convencieron de que solo formando una coalición electoral podrían contrapersar al menemismo, lo que derivó en la fundación de la [[Alianza para el Trabajo, la Justicia y la Educación]] en 1997.<ref>{{Cita web |url=http://www.clarin.com/diario/97/10/27/tapa.htm |título=''Buenos Aires le dio a la Alianza dimensión nacional'', Clarín. 27 de octubre de 1997 |fechaacceso=28 de diciembre de 2017 |fechaarchivo=11 de enero de 2007 |urlarchivo=https://web.archive.org/web/20070111173852/http://www.clarin.com/diario/97/10/27/tapa.htm |deadurl=yes }}</ref>
== Véase también ==
* [[Elecciones legislativas de Argentina de 1995]]
* [[Elecciones al Senado de Argentina de 1995]]
* [[Elecciones provinciales de Argentina de 1995]]
== Notas ==
{{Listaref|group="nota"}}
== Referencias ==
{{listaref}}
== Enlaces externos ==
{{commonscat|1995 Argentine general election}}
* [https://web.archive.org/web/20051229235355/http://www.mininterior.gov.ar/elecciones/archivos_zip/Totgen95.zip Elecciones 1995. Presidenciales - Generales (103kb - xls comprimido en ZIP).]
{{Control de autoridades}}
[[Categoría:Elecciones presidenciales de Argentina|1995]]
[[Categoría:Elecciones en Argentina en 1995|Argentina]]
[[Categoría:Menemismo]]
7ce64cbfa5a94808e7229bd538c36abee954955d
Módulo:Wikidata
828
43
84
2023-12-17T14:58:10Z
Media Wiki>Leoncastro
0
Omito mostrar valores con el estado de «valor desconocido» y «sin valor»
Scribunto
text/plain
--[[*********************************************************************************
* Nombre: Módulo:Wikidata
*
* Descripción: Este módulo devuelve el valor o valores con o sin formato
* específico a una propiedad de Wikidata.
*
* Fecha última revisión: 30 de junio de 2021.
*
* Estado: En uso.
*
*********************************************************************************`-- ]]
local p = {}
local datequalifiers = {'P585', 'P571', 'P580', 'P582'}
local es = mw.language.new('es')
local primera = true
--local marco Ojo. marco no debe definirse como local pues si se hace así puede fallar.
--[[ =========================================================================
Mensajes de error
========================================================================= `-- ]]
local avisos = mw.loadData('Módulo:Wikidata/mensajes')
-- Módulos y funciones utilizadas
local elementoTabla = require('Módulo:Tablas').elemento
--
-- Módulos en los que están definidos los tipos de datos más habituales si son
-- diferentes de Wikidata/Formatos
--
local modulosTipos = mw.loadData('Módulo:Wikidata/modulosTipos')
local modulosTiposComplejos = {
['nacionalidad'] = 'Módulo:Wikidata/Formatos país',
}
--[[ =========================================================================
Función para pasar el frame cuando se usa en otros módulos.
========================================================================= `-- ]]
function p:setFrame(frame)
marco = frame
end
--[[ =========================================================================
Función para identificar el ítem correspondiente a la página o otro dado.
Esto último aún no funciona.
========================================================================= `-- ]]
function SelecionEntidadPorId( id )
if id and id ~= '' then
return mw.wikibase.getEntityObject( id )
else
return mw.wikibase.getEntityObject()
end
end
--[[ =========================================================================
Función que identifica si el valor devuelto es un ítem o una propiedad
y en función de eso añade el prefijo correspondiente
========================================================================= `-- ]]
function SelecionEntidadPorValor( valor )
local prefijo = ''
if valor['entity-type'] == 'item' then
prefijo = 'q' -- Prefijo de ítem
elseif valor['entity-type'] == 'property' then
prefijo = 'p' -- Prefijo de propiedad
else
return formatoError( 'unknown-entity-type' )
end
return prefijo .. valor['numeric-id'] -- Se concatena el prefijo y el código numérico
end
--[[ =========================================================================
Función auxiliar para dar formato a los mensajes de error
========================================================================= `-- ]]
function formatoError( clave )
return '<span class="error">' .. avisos.errores[clave] .. '</span>'
end
--[[ =========================================================================
Función para determinar el rango
========================================================================= `-- ]]
function getRango(tablaDeclaraciones)
local rank = 'deprecated'
for indice, declaracion in pairs(tablaDeclaraciones) do
if declaracion.rank == 'preferred' then
return 'preferred'
elseif declaracion.rank == 'normal' then
rank = 'normal'
end
end
return rank
end
--[[ =========================================================================
Función para determinar la declaracion o declaraciones de mayor rango
========================================================================= `-- ]]
function p.filtrarDeclaracionPorRango(tablaDeclaraciones)
local rango = getRango(tablaDeclaraciones)
local tablaAuxiliar = tablaDeclaraciones
tablaDeclaraciones = {}
if rango == 'deprecated' then
return {}
end
for indice, declaracion in pairs(tablaAuxiliar) do
if declaracion.rank == rango then
table.insert(tablaDeclaraciones, declaracion)
end
end
return tablaDeclaraciones
end
--[[ =========================================================================
Función para seleccionar el tipo de declaración: Referencia, valor principal
o calificador
========================================================================= `-- ]]
function seleccionDeclaracion(declaracion, opciones)
local fuente = {}
local propiedadFuente = {}
local calificador = opciones.formatoCalificador ~= '()' and opciones.calificador
if calificador ~= '' and calificador and declaracion['qualifiers'] then
if declaracion['qualifiers'][mw.ustring.upper(calificador)] then
return declaracion.qualifiers[mw.ustring.upper(calificador)][1] -- devuelve el calificador (solo devolverá el primer valor)
else
return "" --Para que no lance excepción si no existe el calificador
end
elseif opciones.dato == 'fuente' and declaracion['references'] then
fuente = declaracion.references[1]['snaks']
for k,v in pairs(fuente) do
propiedadFuente = k
end
return declaracion.references[1]['snaks'][propiedadFuente][1] -- devuelve la fuente (queda que se itinere la tabla)
elseif (calificador == '' or not calificador) and (opciones.dato ~= 'fuente') then
return declaracion.mainsnak -- devuelve el valor principal
else
return ''
end
end
--[[ =========================================================================
Función para recopilar las declaraciones
========================================================================= `-- ]]
function p.getDeclaraciones(entityId)
-- == Comprobamos que existe un ítem enlazado a la página en Wikidata ==
if not pcall (SelecionEntidadPorId, entityId ) then
return false
end
local entidad = SelecionEntidadPorId(entityId)
if not entidad then
return '' -- Si la página no está enlazada a un ítem no devuelve nada
end
-- == Comprobamos que el ítem tiene declaraciones (claims) ==
if not entidad.claims then
return '' -- Si el ítem no tiene declaraciones no devuelve nada
end
-- == Declaración de formato y concatenado limpio ==
return entidad.claims
end
--[[ =========================================================================
Función para crear la cadena que devolverá la declaración
========================================================================= `-- ]]
local function valinQualif(claim, qualifs)
local claimqualifs = claim.qualifiers
local i,qualif
local vals, vals1, datavalue, value, datatype
if not claimqualifs then
return nil
end
for i, qualif in pairs(qualifs) do
vals = claimqualifs[qualif]
if vals then
vals1 = vals[1]
if vals1 then
datavalue=vals1.datavalue
if datavalue then
datatype = datavalue.type
value = datavalue.value
if datatype == 'time' and value then
return value.time
elseif datatype == 'string' and value then
return value
end
end
end
end
end
end
function p.getPropiedad(opciones, declaracion)
local propiedad = {}
-- Resolver alias de propiedad
if opciones.propiedad == 'precisión' or opciones.propiedad == 'latitud' or opciones.propiedad == 'longitud' then --latitud, longitud o precisión
-- Tierra
propiedad = 'P625'
-- Luna
if mw.wikibase.getEntityObject() and mw.wikibase.getEntityObject():formatPropertyValues("p376")["value"] == 'Luna' then
propiedad = 'P8981'
end
else
propiedad = opciones.propiedad -- En el resto de casos se lee lo dado
end
if not propiedad then -- Comprobamos si existe la propiedad dada y en caso contrario se devuelve un error
return formatoError( 'property-param-not-provided' )
end
local tablaOrdenada
if declaracion then
tablaOrdenada = declaracion
elseif mw.wikibase.isValidEntityId(tostring(opciones.entityId)) and mw.wikibase.isValidEntityId(tostring(propiedad)) then
tablaOrdenada = mw.wikibase.getAllStatements( opciones.entityId, mw.ustring.upper(propiedad) )
if not tablaOrdenada[1] then return '' end
else
return ''
end
-- Función que separa la cadena de texto 'inputstr' utilizando un separador 'sep'
function split(inputstr, sep)
sep=sep or '%s'
local t={}
for field,s in string.gmatch(inputstr, "([^"..sep.."]*)("..sep.."?)") do
table.insert(t,field)
if s=="" then
return t
end
end
end
tablaOrdenada = p.filtroDesconocidos(tablaOrdenada)
-- Aplicar filtro de calificador
if (opciones.filtroCalificador ~= nil and opciones.filtroCalificador ~= '') then
local opts = split(opciones.filtroCalificador, ';')
local negative = false
if (#opts > 2) then
if (opts[3]=='n') then
negative = true
elseif (opts[3]=='p') then
negative = false
end
end
tablaOrdenada = p.filtroCalificadores(tablaOrdenada, opts[1], split(opts[2], ','), negative)
end
-- Aplicar filtro de valor
if (opciones.filtroValor ~= nil and opciones.filtroValor ~= '') then
local opts = split(opciones.filtroValor, ';')
local negative = false
if (#opts > 1) then
if (opts[2]=='n') then
negative = true
elseif (opts[2]=='p') then
negative = false
end
end
tablaOrdenada = p.filtroValores(tablaOrdenada, split(opts[1], ','), negative)
end
-- Aplicar función de formato
local modulo, funcion
funcion = opciones['valor-función'] or opciones['value-function'] or opciones['funcion']
if funcion then
modulo = modulosTiposComplejos[funcion]
if modulo then
return require(modulo)[funcion](tablaOrdenada, opciones)
end
end
-- Evitar que pete cuando se haga el find en opciones['formatoTexto'] si vale nil
if not opciones['formatoTexto'] then
opciones['formatoTexto'] = ''
end
-- Aplicar filtro de mayor rango
if (opciones.rangoMayor == 'sí') then
tablaOrdenada = p.filtrarDeclaracionPorRango(tablaOrdenada)
end
-- Ordenarsegún el calificador "orden dentro de la serie"
if opciones.ordenar == 'sí' then
require('Módulo:Tablas').ordenar(tablaOrdenada,
function(elemento1,elemento2)
local orden1 = valinQualif(elemento1, { 'P1545' }) or '' -- elemento1.qualifiers.P1545[1].datavalue.value or ''
local orden2 = valinQualif(elemento2, { 'P1545' }) or '' -- elemento2.qualifiers.P1545[1].datavalue.value or ''
return orden1 < orden2
end
)
end
--Ordenar según la fecha. [Véase la función chronosort de :fr:Module:Wikidata/Récup]
if opciones.ordenar == 'por fecha' then
require('Módulo:Tablas').ordenar(tablaOrdenada,
function(elemento1,elemento2)
local fecha1 = valinQualif(elemento1, datequalifiers) or '' -- elemento1.qualifiers.P580[1].datavalue.value.time or ''
local fecha2 = valinQualif(elemento2, datequalifiers) or '' -- elemento2.qualifiers.P580[1].datavalue.value.time or ''
return fecha1 < fecha2
end
)
end
-- Si después de todo no queda nada en la tabla retornar
if not tablaOrdenada[1] then
return
end
-- == Si solo se desea que devuelva un valor ==
-- Pendiente eliminar el parámetro y sustituirlo por un nuevo valor del parámetro lista=no que haría lo mismo que opciones.uno = sí
if opciones.uno == 'sí' then -- Para que devuelva el valor de índice 1
tablaOrdenada = {tablaOrdenada[1]}
elseif opciones.uno == 'último' then -- Para que devuelva la última entrada de la tabla
tablaOrdenada = {tablaOrdenada[#tablaOrdenada]}
end
-- == Creamos una tabla con los valores que devolverá ==
local formatoDeclaraciones = {}
local hayDeclaraciones
for indice, declaracion in pairs(tablaOrdenada) do
declaracionFormateada = p.formatoDeclaracion(declaracion, opciones)
if declaracionFormateada and declaracionFormateada ~= '' then
table.insert(formatoDeclaraciones, declaracionFormateada)
hayDeclaraciones = true
end
end
primera = true
if not hayDeclaraciones then
return
end
-- Aplicar el formato a la lista de valores según el tipo de lista de las
-- opciones
return p.formatoLista(formatoDeclaraciones, opciones)
end
-- Función que sirve para comprobar si una entidad tiene una propiedad con un
-- valor específico
-- Parámetros:
-- · entidad: tabla de la entidad de Wikidata
-- · propiedad: identificador de Wikidata para la propiedad
-- · valor: valor de la propiedad en Wikidata
function p.tieneValorPropiedad(entidad, propiedad, valor)
if entidad and entidad.claims and entidad.claims[propiedad] then
local mainsnak
for key,value in ipairs(entidad.claims[propiedad]) do
if value and value.mainsnak then
mainsnak = value.mainsnak
if mainsnak.datatype == 'wikibase-item' and
mainsnak.snaktype == 'value' and
mainsnak.datavalue.value.id == valor then
return true
end
end
end
end
return false
end
-- Función que sirve para devolver la leyenda (P2096) de una imagen (P18) en Wikidata en un determinado idioma
-- La función se llama así: {{#invoke:Wikidata |getLeyendaImagen | <PARÁMETRO> | lang=<ISO-639code> |id=<QID>}}
-- Devuelve PARÁMETRO, a menos que sea igual a "FETCH_WIKIDATA", del objeto QID (llamada que consume recursos)
-- Si se omite QID o está vacio, se utiliza el artículo actual (llamada que NO consume recursos)
-- Si se omite lang se utiliza por defecto el idioma local de la wiki, en caso contrario el idioma del código ISO-639
-- ISO-639 está documentado aquí: https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html#wp1252447
-- El ranking es: 'preferred' > 'normal' y devuelve la etiqueta de la primera imágen con ranking 'preferred'
-- O la etiqueta de la primera imagen with ranking 'normal' si no hay ningún 'preferred'
-- Ranks: https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua
p.getLeyendaImagen = function(frame)
-- busca un un elemento concreto en Wikidata (QID), en caso contrario que sea nil
local id = frame.args.id
if id and (#id == 0) then
id = nil
end
-- busca el parámetro del idioma que debería contender un código ISO-639 de dos dígitos
-- si no se declara, toma por defecto el idioma local de la wiki (es)
local lang = frame.args.lang
if (not lang) or (#lang < 2) then
lang = mw.language.getContentLanguage().code
end
-- el primer parámetro sin nombrar es el parámetro local, si se declara
local input_parm = mw.text.trim(frame.args[1] or "")
if input_parm == "FETCH_WIKIDATA" or input_parm == "" or input_parm == nil then
local ent = mw.wikibase.getEntityObject(id)
local imgs
if ent and ent.claims then
imgs = ent.claims.P18
end
local imglbl
if imgs then
-- busca una imagen con ranking 'preferred'
for k1, v1 in pairs(imgs) do
if v1.rank == "preferred" and v1.qualifiers and v1.qualifiers.P2096 then
local imglbls = v1.qualifiers.P2096
for k2, v2 in pairs(imglbls) do
if v2.datavalue.value.language == lang then
imglbl = v2.datavalue.value.text
break
end
end
end
end
-- si no hay ninguna, busca una con ranking 'normal'
if (not imglbl) then
for k1, v1 in pairs(imgs) do
if v1.rank == "normal" and v1.qualifiers and v1.qualifiers.P2096 then
local imglbls = v1.qualifiers.P2096
for k2, v2 in pairs(imglbls) do
if v2.datavalue.value.language == lang then
imglbl = v2.datavalue.value.text
break
end
end
end
end
end
end
return imglbl
else
return input_parm
end
end
-- Función que devuelve el valor de entidad.claims[idPropiedad][ocurrencia].mainsnak.datavalue.value.text
-- con entidad.claims[idPropiedad][ocurrencia].mainsnak.datavalue.value.language = 'es'
-- Útil para obtener valores de propiedades de tipo monolingualtext
function p.getPropiedadEnEspanyol(idEntidad, idPropiedad)
-- Ver cs:Modul:Wikidata/item formatEntityWithGender
--
local entidad = mw.wikibase.getEntityObject(idEntidad)
if not entidad then
return
end
local declaracion = elementoTabla(entidad,'claims', idPropiedad)
if not declaracion then
return
end
local valor
for k,v in pairs(declaracion) do
valor = elementoTabla(v,'mainsnak', 'datavalue', 'value')
if valor.language == 'es' then
return valor.text
end
end
end
-- devuelve el ID de la página en Wikidata (Q...), o nada si la página no está conectada a Wikidata
function p.pageId(frame)
local entity = mw.wikibase.getEntityObject()
if not entity then return nil else return entity.id end
end
function p.categorizar(opciones, declaracion)
-- Evitar que pete cuando se haga el find en opciones['formatoTexto'] si vale nil
if not opciones['formatoTexto'] then
opciones['formatoTexto'] = ''
end
local categoriaOpciones=opciones['categoría']
if not categoriaOpciones then
return ''
end
opciones['enlace'] = 'no'
-- Crear una tabla con los valores de la propiedad.
local valoresDeclaracion = {}
if declaracion then
valoresDeclaracion = declaracion
elseif opciones.propiedad then
local propiedad = {}
if opciones.propiedad == 'precisión' or opciones.propiedad == 'latitud' or opciones.propiedad == 'longitud' then
propiedad = 'P625' -- Si damos el valor latitud, longitud o precisión equivaldrá a dar p625
else
propiedad = opciones.propiedad -- En el resto de casos se lee lo dado
end
if not p.getDeclaraciones(opciones.entityId) then
return formatoError( 'other entity' )
elseif p.getDeclaraciones(opciones.entityId)[mw.ustring.upper(propiedad)] then
valoresDeclaracion = p.getDeclaraciones(opciones.entityId)[mw.ustring.upper(propiedad)]
else
return ''
end
else
return ''
end
-- Creamos una tabla con cada categoría a partir de cada valor de la declaración
local categorias = {}
local hayCategorias
if type(categoriaOpciones) == 'string' then
local ModuloPaginas = require('Módulo:Páginas')
for indice, valor in pairs(valoresDeclaracion) do
valorFormateado = p.formatoDeclaracion(valor, opciones)
if valorFormateado ~= '' then
categoria = ModuloPaginas.existeCategoria(categoriaOpciones:gsub('$1',valorFormateado))
if categoria then
table.insert(categorias, categoria)
hayCategorias = true
end
end
end
elseif type(categoriaOpciones) == 'table' then
for indice, valor in pairs(valoresDeclaracion) do
categoria = categoriaOpciones[elementoTabla(valor, 'mainsnak', 'datavalue', 'value', 'numeric-id')]
if categoria then
table.insert(categorias, 'Categoría:' .. categoria)
hayCategorias = true
end
end
end
if hayCategorias then
return '[[' .. mw.text.listToText( categorias, ']][[',']][[') .. ']]'
end
return ''
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan el calificador "qualifier" indicado con uno de los valores "values"
========================================================================= `-- ]]
function p.filtroCalificadores(t, qualifier, values, negativo)
local f = {} -- Tabla que se devolverá con el resultado del filtrado
for k,v in pairs(t) do
local counts = false
if(v["qualifiers"] ~= nil and v["qualifiers"][qualifier] ~= nil) then
for k2,v2 in pairs(v["qualifiers"][qualifier]) do
-- Comprobar si el identificador del valor del cualificador está en la lista
for k3,v3 in pairs(values) do
if (v2["datavalue"] ~= nil and v2["datavalue"]["value"] ~= nil and v2["datavalue"]["value"]["id"] ~= nil and v3 == v2["datavalue"]["value"]["id"])then
counts = true -- Si está marcar como true
end
end
end
end
if counts and not negativo then -- Si uno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
elseif not counts and negativo then -- Si ninguno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
end
end
return f
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan uno de los valores "values"
========================================================================= `-- ]]
function p.filtroValores(t, values, negativo)
local f = {} -- Tabla que se devolverá con el resultado del filtrado
for k,v in pairs(t) do
local counts = false
if(v["mainsnak"]["datavalue"]["value"]["id"] ~= nil) then
for k2,v2 in pairs(values) do
if (v2 == v["mainsnak"]["datavalue"]["value"]["id"])then
counts = true -- Si está marcar como true
end
end
end
if counts and not negativo then -- Si uno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
elseif not counts and negativo then -- Si ninguno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
end
end
return f
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan formatos de valor, omitiendo los de formato desconocido o sin valor
========================================================================= `-- ]]
function p.filtroDesconocidos(t)
for k,v in pairs(t) do
if(v["mainsnak"]["snaktype"] ~= "value") then
t[k] = nil
end
local qual = v["qualifiers"]
if(qual ~= nil) then
for qualk,qualv in pairs(qual) do
local prop = qualv
for propk,propv in pairs(prop) do
if(propv["snaktype"] ~= "value") then
prop[propk] = nil
-- same as: qual[prop] = nil
-- same as: t["qualifiers"][prop] = nil
end
end
if #prop == 0 then
prop = nil
qual[qualk] = nil
end
end
if #qual == 0 then
qual = nil
end
end
end
return t
end
--[[ =========================================================================
Función que comprueba si la página está enlazada a Wikidata
en caso de estarlo pasa el valor como a argumento a la función formatSnak()
========================================================================= `-- ]]
function p.formatoDeclaracion( declaracion, opciones)
if not declaracion.type or declaracion.type ~= 'statement' then -- Se comprueba que tiene valor de tipo y que este sea statement (declaración) lo cual pasa siempre que existe la propiedad
return formatoError( 'unknown-claim-type' ) -- Si no se cumple devuelve error
end
-- En el caso de que haya calificador se devuelve a la derecha del valor de la
-- declaración entre paréntesis.
local calificativo = opciones.calificativo or opciones.calificador
if calificativo and declaracion.qualifiers then
-- De momento los calificativos, normalmente años, no se enlazan
local opcionesCalificativo = {['formatoTexto']='', enlace='no', ['formatoFecha']='año'} -- Pendiente
local wValorCalificativo
local wValorCalificativoFormateado
local funcionCalificativo, mensajeError = obtenerFuncion(calificativo, opciones['módulo calificativo'])
if mensajeError then
return mensajeError
elseif funcionCalificativo then
-- Utilizar la función recibida sobre todos los calificativos
wValorCalificativo = declaracion.qualifiers
wValorCalificativoFormateado = funcionCalificativo(wValorCalificativo, opcionesCalificativo)
elseif opciones.formatoCalificador and opciones.formatoCalificador == '()' then
wValorCalificativo = declaracion.qualifiers[mw.ustring.upper(calificativo)]
if wValorCalificativo and wValorCalificativo[1] then
wValorCalificativoFormateado = p.formatoDato(wValorCalificativo[1], opcionesCalificativo)
end
elseif opciones.formatoCalificador and table.getn(mw.text.split(opciones.formatoCalificador, '%.')) == 2 then
moduloFormatoCalificador = mw.text.split(opciones.formatoCalificador, '%.')
formateado = require ('Módulo:' .. moduloFormatoCalificador[1])
if not formateado then
return formatoError( 'value-module-not-found' )
end
fun = formateado[moduloFormatoCalificador[2]]
if not fun then
return formatoError( 'value-function-not-found' )
end
if mw.ustring.find(opciones['formatoTexto'],'mayúscula', plain ) and
(primera or (opciones['separador'] and opciones['separador'] ~= 'null') or
(opciones['lista'] and opciones['lista'] ~= '')) then
opciones['mayúscula'] = 'sí'
primera = false
end
if mw.ustring.find(opciones['formatoTexto'],'cursivas', plain ) then
opcionesEntidad.cursivas = 'sí'
end
wValorCalificativoFormateado = fun( declaracion.qualifiers, opciones, marco)
--return require('Módulo:Tablas').tostring(declaracion)
else
-- Utilizar el primer valor del calificativo de la propiedad recibida
wValorCalificativo = declaracion.qualifiers[mw.ustring.upper(calificativo)]
if wValorCalificativo and wValorCalificativo[1] then
wValorCalificativoFormateado = p.formatoDato(wValorCalificativo[1], opcionesCalificativo)
end
end
if opciones.separadorcalificador then separador = opciones.separadorcalificador else separador = ' ' end
if wValorCalificativoFormateado then
datoFormateado = p.formatoDato(declaracion.mainsnak, opciones)
-- Si el parámetro especificado era "|calificador="" no devolver propiedad y paréntesis
if(opciones.calificador ~= nil and opciones.calificador ~= '') then
return wValorCalificativoFormateado
end
-- Si el parámetro especificado era "|calificativo="" devolver propiedad y calificativo entre paréntesis
return (datoFormateado and datoFormateado .. ' <small>(' .. wValorCalificativoFormateado .. ')</small>') or nil
end
end
-- Si no hay calificativo.
return p.formatoDato(seleccionDeclaracion(declaracion, opciones), opciones, declaracion.qualifiers)
end
--[[ =========================================================================
Función que comprueba el tipo de dato (snaktype)
si es value pasa el valor como argumento a la función formatoValorDato()
========================================================================= `-- ]]
function p.formatoDato( dato, opciones, calificativos)
if not dato or dato == '' then
return ''
end
if dato.snaktype == 'somevalue' then
-- Fecha más temprana
if calificativos then
if calificativos['P1319'] and calificativos['P1319'][1] and
calificativos['P1319'][1].datavalue and
calificativos['P1319'][1].datavalue.type=='time' then
local opcionesFecha={['formatoFecha']=opciones['formatoFecha'],enlace=opciones.enlace}
return 'post. ' .. require('Módulo:Wikidata/Fecha').FormateaFechaHora(calificativos['P1319'][1].datavalue.value, opcionesFecha)
end
end
-- Si no tiene un calificativo válido
return avisos['somevalue'] -- Valor desconocido
elseif dato.snaktype == 'novalue' then
return avisos['novalue'] -- Sin valor
elseif dato.snaktype == 'value' then
return formatoValorDato( dato.datavalue, opciones, calificativos) -- Si tiene el tipo de dato se pasa el valor a la función formatDatavalue()
else
return formatoError( 'unknown-snak-type' ) -- Tipo de dato desconocido
end
end
--[[ =========================================================================
Función que establece el tipo de formato en función del tipo de valor
(valorDato.type) y en caso de solicitarse un formato complemetario asocia
el módulo donde se establece el formato y la función de este que lo establece
========================================================================= `-- ]]
function formatoValorDato( valorDato, opciones, calificativos)
local funcion, mensajeError = obtenerFuncion(opciones['valor-función'] or opciones['value-function'] or opciones['funcion'], opciones['valor-módulo'] or opciones['modulo'])
if mensajeError then
return mensajeError
elseif funcion then
local opcionesEntidad = {}
for k, v in pairs(opciones) do
opcionesEntidad[k] = v
end
if mw.ustring.find(opciones['formatoTexto'],'mayúscula', plain ) and
(primera or (opciones['separador'] and opciones['separador'] ~= 'null') or
(opciones['lista'] and opciones['lista'] ~= '')) then
opcionesEntidad['mayúscula'] = 'sí'
primera = false
end
if mw.ustring.find(opciones['formatoTexto'],'cursivas', plain ) then
opcionesEntidad.cursivas = 'sí'
end
return funcion(valorDato.value, opcionesEntidad, marco, calificativos)
end
-- == Formatos por defecto en función del tipo de valor ==
-- * Con el resto de valores en propiedad
if valorDato.type == 'wikibase-entityid' then -- Tipo: Número de entidad que puede ser un ítem o propiedad
local opcionesEntidad = {}
if mw.ustring.find(opciones['formatoTexto'],'mayúscula', plain ) and
(primera or (opciones['separador'] and opciones['separador'] ~= 'null') or
(opciones['lista'] and opciones['lista'] ~= '')) then
opcionesEntidad['mayúscula'] = 'sí'
primera = false
end
opcionesEntidad.enlace = opciones.enlace
opcionesEntidad.etiqueta = opciones.etiqueta
opcionesEntidad['debeExistir'] = opciones['debeExistir']
if mw.ustring.find(opciones['formatoTexto'],'cursivas', plain ) then
opcionesEntidad.cursivas = 'sí'
end
return p.formatoIdEntidad( SelecionEntidadPorValor( valorDato.value ), opcionesEntidad)
elseif valorDato.type == 'string' then -- Tipo: Cadena de texto (string)
return valorDato.value
elseif valorDato.type == 'url' then --Tipo URL (dirección web)
return value.url
elseif valorDato.type == 'time' then -- Tipo: Fecha/hora
local opcionesFecha={['formatoFecha']=opciones['formatoFecha'],enlace=opciones.enlace}
if mw.ustring.find(opciones['formatoTexto'] or '','mayúscula', plain ) and primera then
opcionesFecha['mayúscula']='sí'
end
return require('Módulo:Wikidata/Fecha').FormateaFechaHora(valorDato.value, opcionesFecha, calificativos)
elseif valorDato.type == 'monolingualtext' then -- Tipo: monolingüe
if valorDato.value then
if opciones.idioma then
for k, v in pairs(valorDato) do
if v.language == opciones.idioma then
return v.text
end
end
else
return valorDato.value.text
end
else
return ''
end
elseif valorDato.type == 'quantity' then -- Tipo: Cantidad
return require('Módulo:Wikidata/Formatos').formatoUnidad(valorDato, opciones)
elseif valorDato.value['latitude'] and valorDato.value['longitude'] then -- Tipo: Coordenadas
-- * Para tipo coordenadas cuando se da como valor de propiedad: latitud, longitud o precisión
if TIPOLLP == 'latitud' then
return valorDato.value['latitude']
elseif TIPOLLP == 'longitud' then
return valorDato.value['longitude']
elseif TIPOLLP == 'precisión' then
return valorDato.value['precision']
else
local globo = require('Módulo:Wikidata/Globos')[valorDato.value.globe]
--Concatenamos los valores de latitud y longitud dentro de la plantilla Coord
if globo ~= 'earth' then
return marco:preprocess('{{coord|' .. valorDato.value['latitude'] .. '|' ..
valorDato.value['longitude'] .. '|globe:' .. globo .. '_type:' .. opciones.tipo .. '|display=' ..
opciones.display ..'|formato=' .. opciones.formato..'}}')
else
return marco:preprocess('{{coord|' .. valorDato.value['latitude'] .. '|' ..
valorDato.value['longitude'] .. '|type:' .. opciones.tipo .. '|display=' ..
opciones.display ..'|formato=' .. opciones.formato..'}}')
end
end
else
return formatoError( 'unknown-datavalue-type' ) -- Si no es de ninguno de estos tipos devolverá error valor desconocido
end
end
--[[ =========================================================================
Damos formato a los enlaces internos
========================================================================= `-- ]]
-- Opciones:
-- - enlace: Valores posibles 'sí' o 'no'
-- - mayúscula: Valores posibles 'sí' o 'no'
-- - cursivas: Valores posibles 'sí' o 'no'
function p.formatoIdEntidad(idEntidad, opciones)
local enlace = mw.wikibase.sitelink(idEntidad)
local etiqueta = mw.wikibase.label(idEntidad)
return require('Módulo:Wikidata/Formatos').enlazar(enlace, etiqueta, idEntidad, opciones)
end
--[[ =========================================================================
Función principal
========================================================================= `-- ]]
function p.Wikidata( frame )
TIPOLLP="" --Variable global para identificar los casos de latitud, longitud o precisión
marco = frame
local args = frame.args
if args.valor == 'no' then
return
end
local parentArgs = frame:getParent().args
-- Copiar los argumentos
local argumentos = {}
for k, v in pairs(args) do
argumentos[k] = v
end
for k, v in pairs(parentArgs) do
if not argumentos[k] then
argumentos[k] = v
end
end
if argumentos[1]=='longitud' or argumentos[1]=='latitud' or argumentos[1]=='precisión' then
TIPOLLP=argumentos[1]
marco.args[argumentos[1]]='P625'
end
--if true then return require('Módulo:Tablas').tostring(argumentos) end
-- No generar el valor de Wikidata si se ha facilitado un valor local y
-- el valor local es prioritario.
local valorWikidata;
if (args.prioridad ~= 'sí' or (args.importar and args.importar == 'no')) and args.valor and args.valor ~= '' then
valorWikidata = nil;
else
if not mw.wikibase.isValidEntityId(tostring(argumentos.entityId)) then
argumentos.entityId = mw.wikibase.getEntityIdForCurrentPage() or nil
end
valorWikidata = p.getPropiedad(argumentos, nil);
end
local categorias = '';
local namespace = frame:preprocess('{{NAMESPACENUMBER}}');
if (namespace == '0' and (not args.categorias or args.categorias ~= 'no') and
args.propiedad and string.upper(args.propiedad) ~= 'P18' -- P18: imagen de Commons
and string.upper(args.propiedad) ~= 'P41' -- P41: imagen de la bandera
and string.upper(args.propiedad) ~= 'P94' -- P94: imagen del escudo de armas
and string.upper(args.propiedad) ~= 'P109' -- P109: firma de persona
and string.upper(args.propiedad) ~= 'P154') then -- P154: logotipo
if valorWikidata and valorWikidata ~= '' and args.valor and args.valor ~= '' then
categorias = '[[Categoría:Wikipedia:Artículos con datos locales]]'
elseif valorWikidata and valorWikidata == '' and args.valor and args.valor ~= '' and
(not args.calificador or args.calificador == '') and
(not args.dato or args.dato == '' or args.dato ~= 'fuente') then
categorias = '[[Categoría:Wikipedia:Artículos con datos por trasladar a Wikidata]]'
end
end
if args.prioridad == 'sí' and valorWikidata and valorWikidata ~= '' then -- Si se da el valor sí a prioridad tendrá preferencia el valor de Wikidata
if args.importar and args.importar == 'no' and args.valor and args.valor ~= '' then
return args.valor .. categorias
elseif valorWikidata then
return valorWikidata .. categorias -- valor que sustituye al valor de Wikidata parámetro 2
else
return categorias
end
elseif args.valor and args.valor ~= '' then
return args.valor .. categorias
elseif args.importar and args.importar == 'no' then
return ''
elseif valorWikidata then -- Si el valor es nil salta una excepcion al concatenar
return valorWikidata .. categorias
else
return ''
end
end
function obtenerFuncion(funcion, nombreModulo)
if not funcion then
return
elseif type(funcion) == 'function' then -- Uso desde LUA
return funcion
elseif funcion == '' or not nombreModulo or nombreModulo == '' then
return
else -- Uso desde una plantilla
local modulo
if not nombreModulo or nombreModulo == '' or nombreModulo == 'Wikidata/Formatos' then
modulo = require(modulosTipos[funcion] or 'Módulo:Wikidata/Formatos')
else
modulo = require ('Módulo:' .. nombreModulo)
end
if not modulo then
return nil, formatoError( 'value-module-not-found' )
elseif not modulo[funcion] then
return nil, formatoError( 'value-function-not-found' )
else
return modulo[funcion]
end
end
end
function p.addLinkback(valorPropiedad, idEntidad, idPropiedad)
local lidEntidad
if valorPropiedad and idPropiedad then
lidEntidad= (idEntidad ~='' and idEntidad) or mw.wikibase.getEntityIdForCurrentPage()
end
if lidEntidad then
return valorPropiedad .. '<span class=\"wikidata-link lapiz noprint\"> [[Archivo:Blue_pencil.svg|Ver y modificar los datos en Wikidata|10px|baseline|alt=Ver y modificar los datos en Wikidata|enlace=https://www.wikidata.org/wiki/' .. lidEntidad .. '?uselang=es#' .. idPropiedad ..
']]</span>'
else
return valorPropiedad
end
end
function p.formatoLista(tabla, opciones)
if not tabla or not tabla[1] then
return
end
local tipo_lista = opciones.lista
local lapiz
if opciones.linkback == 'sí' and opciones.entityId and opciones.propiedad then
lapiz = '<span class=\"wikidata-link lapiz noprint\"> [[Archivo:Blue_pencil.svg|Ver y modificar los datos en Wikidata|10px|baseline|alt=Ver y modificar los datos en Wikidata|enlace=https://www.wikidata.org/wiki/' .. opciones.entityId .. '?uselang=es#' .. opciones.propiedad ..
']]</span>'
else
lapiz = ''
end
if not tabla[2] then
-- Si la tabla solo tiene un elemento devolverlo
return tabla[1] .. lapiz
end
if tipo_lista == 'no ordenada' or tipo_lista == 'ordenada' or tipo_lista == 'nobullet' then
local lista = mw.text.listToText( tabla, '</li><li>', '</li><li>' )
if tipo_lista == 'no ordenada' then
return '<ul><li>' .. lista .. lapiz .. '</li></ul>'
elseif tipo_lista == 'ordenada' then
return '<ol><li>' .. lista .. lapiz .. '</li></ol>'
else
return '<ul style="list-style-type:none;list-style-image:none;margin-left:0;padding-left:0"><li>' .. lista .. lapiz .. '</li></ul>'
end
else
local separadores = {
[''] = '',
[','] = ', ',
['null'] = ', ',
['no'] = ''
}
local conjunciones = {
[''] = '',
['y'] = ' y ',
['o'] = ' o ',
['null'] = ' y ',
['no'] = ''
}
local separador = opciones.separador
local conjuncion = opciones['conjunción']
if not separador then
separador = ', '
else
separador = separadores[separador] or separador
end
if not conjuncion then
conjuncion = ' y '
else
conjuncion = conjunciones[conjuncion] or conjuncion
end
if conjuncion == ' y ' and marco and tabla[2] then
conjuncion = ' ' .. marco:preprocess('{{y-e|{{Desvincular|' .. tabla[#tabla] .. '}}|sin texto}}') .. ' '
end
return mw.text.listToText( tabla, separador, conjuncion ) .. lapiz
end
end
-- Funciones existentes en otros módulos
function p.obtenerEtiquetaWikidata(entidad, fallback)
if not entidad then entidad = fallback end
if entidad and entidad.labels and entidad.labels.es then
return entidad.labels.es.value
end
end
function p.obtenerImagenWikidata(entidad, propiedad)
local imagen, valorImagen, piesDeImagen, k, pieDeImagen
if not entidad then
return
end
-- Obtener la primera imagen en Wikidata de la persona
local imagen = elementoTabla(entidad, 'claims', propiedad, 1)
--[[
-- Obtener el objeto de imagen, ya sea la primera, la última (WIP) o por fecha (WIP)
local imagen = (function()
local ImagenObj = elementoTabla(entidad, 'claims', idPropiedad)
if opciones.ordenar == 'por fecha' then
--
end
return elementoTabla(ImagenObj, 1)
end)()
--]]
if not imagen then
return
end
valorImagen = elementoTabla(imagen, 'mainsnak', 'datavalue', 'value')
piesDeImagen = elementoTabla(imagen, 'qualifiers', 'P2096')
-- Encontrar el pie en español
if piesDeImagen then
for k,pieDeImagen in pairs(piesDeImagen) do
if pieDeImagen.datavalue.value.language == 'es' then
return valorImagen, pieDeImagen.datavalue.value.text
end
end
end
-- Si no hay pie de imagen en español comprueba si hay fecha especificada para la imagen
piesDeImagen = elementoTabla(imagen, 'qualifiers', 'P585')
if piesDeImagen and piesDeImagen[1] then
return valorImagen, 'En ' .. require('Módulo:Wikidata/Fecha').FormateaFechaHora(piesDeImagen[1].datavalue.value, {['formatoFecha']='año',['enlace']='no'})
end
-- Sin pie de imagen en español
return valorImagen
end
function p.propiedad(entidad, idPropiedad, opciones)
if entidad and entidad.claims and entidad.claims[idPropiedad] then
if not opciones then
opciones = {['linkback']='sí'}
end
--[[
local ValorPosicional = (function()
if opciones['valor_posicional'] == 'último' then return -1 end
if type(opciones['valor_posicional']) == 'number' then return opciones['valor_posicional'] end
return 1
end)()
local ValorPosicionalCalif =(function()
if opciones['valor_posicional_calif'] == 'último' then return -1 end
if type(opciones['valor_posicional_calif']) == 'number' then return opciones['valor_posicional_calif'] end
return 1
end)()
local Calificador = opciones['calificador']
local Obj = (function()
local Obj = (function()
local Obj = elementoTabla(entidad, 'claims', idPropiedad)
if ValorPosicional == -1 then return elementoTabla(Obj, #Obj) end
return elementoTabla(Obj, ValorPosicional)
end)()
if Calificador then
Obj = (function()
local Obj = elementoTabla(Obj, 'qualifiers', Calificador)
if ValorPosicionalCalif == -1 then return elementoTabla(Obj, #Obj) end
return elementoTabla(Obj, ValorPosicionalCalif)
end)()
end
return Obj
end)()
Tipo = elementoTabla(Obj, 'datavalue', 'type')
-- Devolver el ID de la entidad, para propiedades de entidad
if opciones['formato'] == 'entidadID' then
return elementoTabla(Obj, 'datavalue', 'value', 'id')
end
-- Preparar para devolver el archivo más reciente en la propiedad. Buscar cómo hacerlo con los calificadores
if opciones['formato'] == 'archivo' then
if Calificador then return elementoTabla(Obj, 'datavalue', 'value') end
if not opciones['uno'] then opciones['uno'] = 'último' end
opciones['ordenar'] = 'por fecha'
end
-- Obtener la propiedad como cadena sin formato
if opciones['formato'] == 'cadena' then
opciones['linkback'] = 'no'
if Tipo == 'string' then
return elementoTabla(Obj, 'datavalue', 'value')
end
end
-- Devolver una cadena numérica correctamente formateada
if opciones['formato'] == 'número' then
if Tipo == 'quantity' then
return formatoNumero(elementoTabla(Obj, 'datavalue', 'value', 'amount'))
end
end
-- Devolver una cadena numérica con su unidad
if opciones['formato'] == 'unidad' then
if elementoTabla(entidad, 'claims', idPropiedad, 2, 'mainsnak', 'datavalue') then
return formatoNumero(elementoTabla(entidad, 'claims', idPropiedad, 1, 'mainsnak', 'datavalue', 'value', 'amount')) .. ' - ' .. numeroUnidad(elementoTabla(entidad, 'claims', idPropiedad, 2, 'mainsnak', 'datavalue'), opciones)
else
return numeroUnidad(elementoTabla(entidad, 'claims', idPropiedad, 1, 'mainsnak', 'datavalue'), opciones)
end
end
--]]
opciones.entityId = entidad.id
opciones.propiedad = idPropiedad
return p.getPropiedad(opciones, entidad.claims[idPropiedad])
end
end
function p.esUnValor(entidad, idPropiedad, idaBuscar)
if not entidad or not idPropiedad then
return false
end
local declaracion = elementoTabla(entidad, 'claims', idPropiedad)
local idBuscado
if not declaracion then
return false
end
for k,v in pairs(declaracion) do
idBuscado = elementoTabla(v,'mainsnak','datavalue','value','id')
if idBuscado == idaBuscar then
return true
end
end
return false
end
-- Obtener el objeto mw.language, para usar sus funciones en otros módulos
function p.language()
return es
end
return p
8d60da1b75ba0be6e3dd5ef282b9d803bb8ea32f
Plantilla:Color político
10
86
170
2023-12-31T16:54:44Z
Media Wiki>Faustino Sojo
0
wikitext
text/x-wiki
<includeonly>{{#switch:{{{1|}}}<!--
==== Alemania ====
-->| Alianza 90/Los Verdes = <nowiki>#64A12D</nowiki><!--
-->| AfD <!--
-->| Alternativa para Alemania = <nowiki>#009EE0</nowiki><!--
-->| Die Linke = <nowiki>#BE3075</nowiki><!--
-->| KPD <!--
-->| Partido Comunista de Alemania = <nowiki>#8B0000</nowiki><!--
-->| Zentrum <!--
-->| Partido de Centro (Alemania) = <nowiki>#000000</nowiki><!--
-->| DDP <!--
-->| Partido Democrático Alemán = <nowiki>#FFCC00</nowiki><!--
-->| FDP <!--
-->| Partido Democrático Libre = <nowiki>#FFED00</nowiki><!--
-->| DNVP <!--
-->| Partido Nacional del Pueblo Alemán = <nowiki>#000000</nowiki><!--
-->| NPD <!--
-->| Partido Nacionaldemócrata de Alemania = <nowiki>#8B4726</nowiki><!--
-->| NSDAP <!--
-->| Partido Nacionalsocialista Obrero Alemán = <nowiki>#964B00</nowiki><!--
-->| SED <!--
-->| Partido Socialista Unificado de Alemania = <nowiki>#DC241F</nowiki><!--
-->| DVP <!--
-->| Partido Popular Alemán = <nowiki>#1874CD</nowiki><!--
-->| SPD <!--
-->| Partido Socialdemócrata de Alemania = <nowiki>#EB001F</nowiki><!--
-->| LKR <!--
-->| Reformadores Liberal-Conservadores = <nowiki>#F29200</nowiki><!--
-->| CDU <!--
-->| Unión Demócrata Cristiana de Alemania = <nowiki>#000000</nowiki><!--
-->| CSU <!--
-->| Unión Social Cristiana de Baviera = <nowiki>#008AC5</nowiki><!--
==== Andorra ====
===== Actuales =====
-->| Acción Comunal de Ordino = <nowiki>#BCA509</nowiki><!--
-->| Acción por Andorra = <nowiki>#99E0DA</nowiki><!--
-->| Andorra Adelante = <nowiki>#384182</nowiki><!--
-->| Andorra Sobirana = <nowiki>#956300</nowiki><!--
-->| CD'I per Andorra la Vella = <nowiki>#6B1F5F</nowiki><!--
-->| Ciudadanos Comprometidos = <nowiki>#702584</nowiki><!--
-->| Concordia = <nowiki>#8DB5C1</nowiki><!--
-->| Demócratas por Andorra = <nowiki>#F47213</nowiki><!--
-->| Liberales de Andorra = <nowiki>#02B1F0</nowiki><!--
-->| Partido Socialdemócrata de Andorra = <nowiki>#D40000</nowiki><!--
-->| Socialdemocracia y Progreso de Andorra = <nowiki>#9A1350</nowiki><!--
-->| Tercera Via = <nowiki>#232060</nowiki><!--
-->| Unidos por el Progreso de Andorra = <nowiki>#2C3FA0</nowiki><!--
-->| Unió Laurediana = <nowiki>#000000</nowiki><!--
=====Históricos=====
-->| Agrupamiento Nacional Democrático = <nowiki>#E62E00</nowiki><!--
-->| Andorra por el Cambio = <nowiki>#0D2264</nowiki><!--
-->| Centro Democrático de Andorra = <nowiki>#1C4F9B</nowiki><!--
-->| Coalición Nacional Andorrana = <nowiki>#2525C2</nowiki><!--
-->| Coalición Reformista = <nowiki>#0099FF</nowiki><!--
-->| Grup d'Opinió Liberal = <nowiki>#FEE46E</nowiki><!--
-->| Grupo de la Unión Parroquial de Independientes = <nowiki>#006D3A</nowiki><!--
-->| Iniciativa Ciudadana = <nowiki>#AB2A87</nowiki><!--
-->| Iniciativa Democrática Nacional = <nowiki>#FF00D4</nowiki><!--
-->| Los Verdes de Andorra = <nowiki>#4CC417</nowiki><!--
-->| Moviment Massanenc = <nowiki>#FFC423</nowiki><!--
-->| Nueva Democracia = <nowiki>#FFAC30</nowiki><!--
-->| Nuevo Centro = <nowiki>#8B1A23</nowiki><!--
-->| Partido Demócrata = <nowiki>#FFCC00</nowiki><!--
-->| Renovación Democrática = <nowiki>#FFA500</nowiki><!--
-->| Siglo 21 = <nowiki>#0000FF</nowiki><!--
-->| Unió Nacional de Progrés = <nowiki>#FFB300</nowiki><!--
-->| Unió Parroquial d'Ordino = <nowiki>#0071BC</nowiki><!--
==== Argentina ====
===== Alianzas nacionales =====
-->| 1País = <nowiki>#0A1172</nowiki><!--
-->| Alianza Civil (Argentina) = <nowiki>#F69A69</nowiki><!--
-->| Alianza de Centro (Argentina) = <nowiki>#6495ED</nowiki><!--
-->| Alianza para el Trabajo, la Justicia y la Educación = <nowiki>#0AABDB</nowiki><!--
-->| Alianza Popular Federalista = <nowiki>#FAD201</nowiki><!--
-->| Concordancia (Argentina) = <nowiki>#BfD0DA</nowiki><!--
-->| Confederación Federalista Independiente = <nowiki>#008000</nowiki><!--
-->| Junta Nacional Coordinadora <!--
-->| Junta Nacional de Coordinación Política = <nowiki>#318CE7</nowiki><!--
-->| Cambiemos <!--
-->| Juntos por el Cambio = <nowiki>#FFD700</nowiki><!--
-->| Consenso Federal (alianza) <!--
-->| Consenso Federal (coalición de 2019) = <nowiki>#283084</nowiki><!--
-->| Frente Amplio Progresista (Argentina) =<nowiki>#FF6600</nowiki><!--
-->| Frente de Izquierda y de Trabajadores - Unidad <!--
-->| Frente de Izquierda y de los Trabajadores = <nowiki>#F65058</nowiki><!--
-->| Unión por la Patria <!--
-->| Frente de Todos (coalición de 2019) = <nowiki>#009FE3</nowiki><!--
-->| Frente NOS = <nowiki>#307FE2</nowiki><!--
-->| Frente País Solidario = <nowiki>#A349A4</nowiki><!--
-->| Unidad Ciudadana <!--
-->| Frente para la Victoria = <nowiki>#75AADB</nowiki><!--
-->| Frente por la Lealtad = <nowiki>dodgerblue</nowiki><!--
-->| Izquierda Unida (Argentina, 1987-1991) <!--
-->| Izquierda Unida (Argentina, 1997-2005) = <nowiki>#CC2D2A</nowiki><!--
-->| La Libertad Avanza = <nowiki>#6C4C99</nowiki><!--
-->| Progresistas = <nowiki>#EE4D8B</nowiki><!--
-->| Unidos por una Nueva Alternativa = <nowiki>#4C2882</nowiki><!--
===== Partidos nacionales =====
-->| Acción por la República = <nowiki>#3E5298</nowiki><!--
-->| Afirmación para una República Igualitaria <!--
-->| Coalición Cívica ARI = <nowiki>#6FB53E</nowiki><!--
-->| Alianza Compromiso Federal <!--
-->| Compromiso Federal = <nowiki>#66FFCC</nowiki><!--
-->| Encuentro Republicano Federal = <nowiki>#213C6E</nowiki><!--
-->| Frente Grande = <nowiki>#D22C21</nowiki><!--
-->| Frente Patria Grande = <nowiki>#199ED8</nowiki><!--
-->| Frente Patriota Federal <!--
-->| Frente Patriota = <nowiki>#AE8333</nowiki><!--
-->| Frente Renovador = <nowiki>#0E3C61</nowiki><!--
-->| Generación para un Encuentro Nacional = <nowiki>#EE4D8B</nowiki><!--
-->| Izquierda Socialista (Argentina) = <nowiki>#E20612</nowiki><!--
-->| Kolina = <nowiki>#04B45F</nowiki><!--
-->| Lealtad y Dignidad = <nowiki>dodgerblue</nowiki><!--
-->| Nuevo Movimiento al Socialismo <!--
-->| Movimiento al Socialismo (2003) = <nowiki>#E52D33</nowiki><!--
-->| Movimiento de Acción Vecinal = <nowiki>#187F36</nowiki><!--
-->| Movimiento de Integración y Desarrollo = <nowiki>#0F2B3D</nowiki><!--
-->| Movimiento Independiente de Jubilados y Desocupados <!--
-->| Movimiento Independiente de Justicia y Dignidad = <nowiki>#B0C236</nowiki><!--
-->| Movimiento Libres del Sur = <nowiki>#0067A5</nowiki><!--
-->| Proyecto Sur <!--
-->| Movimiento Proyecto Sur = <nowiki>#389B00</nowiki><!--
-->| Nueva Izquierda (Argentina) <!--
-->| Movimiento Socialista de los Trabajadores = <nowiki>#CC0000</nowiki><!--
-->| Nueva Unión Ciudadana = <nowiki>#004078</nowiki><!--
-->| Encuentro por la Democracia y la Equidad <!--
-->| Nuevo Encuentro = <nowiki>#008FC3</nowiki><!--
-->| Partido Autonomista de Corrientes <!--
-->| Partido Autonomista (Argentina) = <nowiki>#FC2A19</nowiki><!--
-->| Partido Comunista (Argentina) = <nowiki>#E22928</nowiki><!--
-->| Partido Comunista (Congreso Extraordinario) = <nowiki>#FF2400</nowiki><!--
-->| Partido del Trabajo y del Pueblo <!--
-->| Partido Comunista Revolucionario (Argentina) = <nowiki>#ED1C24</nowiki><!--
-->| Partido Conservador Popular (Argentina) = <nowiki>#000081</nowiki><!--
-->| Partido de la Concertación FORJA = <nowiki>#ED3236</nowiki><!--
-->| Partido de la Cultura, la Educación y el Trabajo = <nowiki>#D9E542</nowiki><!--
-->| Partido de la Victoria = <nowiki>#00CCFF</nowiki><!--
-->| Partido de los Trabajadores Socialistas = <nowiki>#FF6347</nowiki><!--
-->| Partido del Trabajo y la Equidad = <nowiki>#4E92D3</nowiki><!--
-->| Partido Demócrata de Buenos Aires <!--
-->| Partido Demócrata de Córdoba <!--
-->| Partido Demócrata de la Capital Federal <!--
-->| Partido Demócrata de Mendoza <!--
-->| Partido Demócrata de San Luis <!--
-->| Partido Demócrata del Chaco <!--
-->| Partido Demócrata (Argentina) = <nowiki>#1F2F6B</nowiki><!--
-->| Partido Demócrata Cristiano (Argentina) = <nowiki>#2B3094</nowiki><!--
-->| Partido Demócrata Progresista = <nowiki>#005C9E</nowiki><!--
-->| Es Posible <!--
-->| Partido Es Posible = <nowiki>#FFCC66</nowiki><!--
-->| Partido Fe = <nowiki>#0070BA</nowiki><!--
-->| Partido Federal (1973) = <nowiki>#B51601</nowiki><!--
-->| Partido Humanista (Argentina) = <nowiki>#FF7F00</nowiki><!--
-->| Partido Intransigente = <nowiki>#D10047</nowiki><!--
-->| Frente Justicialista de Liberación <!--
-->| Partido Justicialista = <nowiki>#318CE7</nowiki><!--
-->| Partido Libertario (Argentina) = <nowiki>#FF8E3D</nowiki><!--
-->| Partido Nacionalista Constitucional <!--
-->| Partido Nacionalista Constitucional UNIR <!--
-->| Partido Nacionalista Constitucional - UNIR = <nowiki>#2E4371</nowiki><!--
-->| Partido Obrero (Argentina) = <nowiki>#F4022E</nowiki><!--
-->| Partido Progreso Social = <nowiki>#008000</nowiki><!--
-->| Partido Socialista (Argentina) = <nowiki>#FF9900</nowiki><!--
-->| Partido Socialista Auténtico (Argentina) = <nowiki>#DD2C1A</nowiki><!--
-->| Partido Solidario = <nowiki>#029C6A</nowiki><!--
-->| Partido Tercera Posición = <nowiki>#8B008B</nowiki><!--
-->| Partido Verde (Argentina) = <nowiki>#8AB33E</nowiki><!--
-->| Política Abierta para la Integridad Social = <nowiki>#4F85C5</nowiki><!--
-->| Propuesta Republicana = <nowiki>#FFD700</nowiki><!--
-->| Somos (partido político) = <nowiki>#E2007A</nowiki><!--
-->| Unión Celeste y Blanco = <nowiki>#0B7DE0</nowiki><!--
-->| Unión Cívica Radical = <nowiki>#E10019</nowiki><!--
-->| Instrumento Electoral por la Unidad Popular <!--
-->| Unidad Popular (Argentina) = <nowiki>#00478F</nowiki><!--
-->| Unión del Centro Democrático = <nowiki>#6495ED</nowiki><!--
-->| Unión Popular Federal <!--
-->| Unión Popular (Argentina) = <nowiki>#009999</nowiki><!--
-->| Unite por la Libertad y la Dignidad = <nowiki>#4CB0E4</nowiki><!--
===== Partidos provinciales (contando históricos) =====
====== Capital Federal ======
-->| Autodeterminación y Libertad = <nowiki>#592E6B</nowiki><!--
-->| Energía Ciudadana Organizada = <nowiki>#32CD32</nowiki><!--
-->| Evolución Ciudadana = <nowiki>#32CD32</nowiki><!--
-->| Confianza Pública = <nowiki>#2E9A60</nowiki><!--
-->| Republicanos Unidos = <nowiki>#651F7A</nowiki><!--
====== Catamarca ======
-->| Movimiento Popular Catamarqueño = <nowiki>#0052CE</nowiki><!--
====== Chaco ======
-->| Acción Chaqueña = <nowiki>#000080</nowiki><!--
-->| Nuevo Espacio de Participación del Chaco = <nowiki>#FF4500</nowiki><!--
-->| Partido Popular de la Reconstrucción = <nowiki>#2B2361</nowiki><!--
====== Chubut ======
-->| Chubut Somos Todos = <nowiki>#2AB665</nowiki><!--
-->| Partido Acción Chubutense = <nowiki>#0A1172</nowiki><!--
====== Córdoba ======
-->| Encuentro Vecinal Córdoba = <nowiki>#E76003</nowiki><!--
-->| Frente Cívico de Córdoba = <nowiki>#DD3F18</nowiki><!--
-->| Unión por Córdoba = <nowiki>#19BC9D</nowiki><!--
====== Corrientes ======
-->| Encuentro por Corrientes = <nowiki>#6EBD46</nowiki><!--
-->| Pacto Autonomista - Liberal = <nowiki>#40E0D0</nowiki><!--
-->| Partido Liberal de Corrientes = <nowiki>#35AAE0</nowiki><!--
-->| Partido Nuevo (Corrientes) <!--
-->| Partido Nuevo = <nowiki>#FF7500</nowiki><!--
====== Jujuy ======
-->| Movimiento de Renovación Cívica = <nowiki>darkred</nowiki><!--
-->| Movimiento de Unidad Renovadora = <nowiki>#FFFF00</nowiki><!--
-->| Movimiento Popular Jujeño = <nowiki>#17117D</nowiki><!--
-->| Partido por la Dignidad del Pueblo = <nowiki>#D90527</nowiki><!--
-->| Partido por la Soberanía Popular = <nowiki>#04B45F</nowiki><!--
-->| Partido Popular (Jujuy) = <nowiki>#E9D66B</nowiki><!--
-->| Primero Jujuy = <nowiki>#283B73</nowiki><!--
====== La Pampa ======
-->| Comunidad Organizada = <nowiki>#1C4587</nowiki><!--
-->| Movimiento Federalista Pampeano = <nowiki>#005C9E</nowiki><!--
====== Mendoza ======
-->| Frente Cambia Mendoza = <nowiki>#902790</nowiki><!--
-->| Protectora Fuerza Política = <nowiki>#1FAA89</nowiki><!--
====== Misiones ======
-->| Partido Agrario y Social = <nowiki>green</nowiki><!--
-->| Partido de la Concordia Social = <nowiki>#294593</nowiki><!--
====== Neuquén ======
-->| Movimiento Popular Neuquino = <nowiki>#0070B8</nowiki><!--
====== Río Negro ======
-->| Juntos Somos Río Negro = <nowiki>#49A942</nowiki><!--
-->| Movimiento Patagónico Popular = <nowiki>#04923C</nowiki><!--
-->| Partido Provincial Rionegrino = <nowiki>#EB3721</nowiki><!--
====== Salta ======
-->| Salta Somos Todos <!--
-->| Partido Ahora Patria <!--
-->| Ahora Patria = <nowiki>yellow</nowiki><!--
-->| Partido Identidad Salteña = <nowiki>#B21519</nowiki><!--
-->| Partido Propuesta Salteña = <nowiki>orange</nowiki><!--
-->| Partido Renovador de Salta = <nowiki>#1E90FF</nowiki><!--
====== San Juan ======
-->| Cruzada Renovadora = <nowiki>#87CEEB</nowiki><!--
-->| Unión Cívica Radical Bloquista <!--
-->| Partido Bloquista <!--
-->| Partido Bloquista de San Juan = <nowiki>#44944A</nowiki><!--
====== San Luis ======
-->| Avanzar San Luis = <nowiki>#24A1BD</nowiki><!--
====== Santa Fe ======
-->| Somos Energía para Renovar Santa Cruz = <nowiki>#0268B3</nowiki><!--
====== Santa Fe ======
-->| Ciudad Futura = <nowiki>#E73D3E</nowiki><!--
-->| Frente Progresista Cívico y Social = <nowiki>#FF8C00</nowiki><!--
====== Santiago del Estero ======
-->| Frente Cívico por Santiago = <nowiki>#FF0080</nowiki><!--
-->| Frente Patriótico Laborista = <nowiki>#1C4C96</nowiki><!--
-->| Movimiento Santiago Viable = <nowiki>#32BB32</nowiki><!--
====== Tierra del Fuego ======
-->| Movimiento Popular Fueguino = <nowiki>#00008B</nowiki><!--
-->| Partido Social Patagónico = <nowiki>#E42F28</nowiki><!--
====== Tucumán ======
-->| Defensa Provincial - Bandera Blanca <!--
-->| Defensa Provincial-Bandera Blanca = <nowiki>#A0A0A0</nowiki><!--
-->| Fuerza Republicana = <nowiki>#0070B8</nowiki><!--
-->| Vanguardia Federal = <nowiki>#FFD700</nowiki><!--
===== Partidos nacionales históricos =====
-->| Partido Socialista de la Izquierda Nacional <!--
-->| Movimiento Patriótico de Liberación <!--
-->| Federación Nacional de Partidos de Centro = <nowiki>#4169E1</nowiki><!--
-->| Frente de Izquierda Popular = <nowiki>black</nowiki><!--
-->| Movimiento al Socialismo (1982) = <nowiki>#E52D33</nowiki><!--
-->| Movimiento por la Dignidad y la Independencia = <nowiki>#FFEF00</nowiki><!--
-->| Nueva Fuerza = <nowiki>#29C0EF</nowiki><!--
-->| Partido Conservador (Argentina) <!--
-->| Partido Autonomista Nacional = <nowiki>#74acdf</nowiki><!--
-->| Partido Blanco de los Jubilados = <nowiki>#D3D3D3</nowiki><!--
-->| Partido Demócrata Nacional = <nowiki>#1F2F6B</nowiki><!--
-->| Partido Federal (Argentina) = <nowiki>#B31B1B</nowiki><!--
-->| Partido Laborista (Argentina) = <nowiki>#002270</nowiki><!--
-->| Partido Popular de la Reconstrucción = <nowiki>#2B2361</nowiki><!--
-->| Partido Socialista Argentino = <nowiki>#FA4616</nowiki><!--
-->| Partido Socialista Democrático (Argentina) = <nowiki>#FFAD00</nowiki><!--
-->| Partido Socialista de los Trabajadores (Argentina) = <nowiki>darkred</nowiki><!--
-->| Partido Socialista Independiente (Argentina) = <nowiki>#FFC0CE</nowiki><!--
-->| Partido Socialista Popular (Argentina) = <nowiki>#FF6700</nowiki><!--
-->| Partido Unidad Federalista = <nowiki>#808080</nowiki><!--
-->| Partido Unitario = <nowiki>#ADD8E6</nowiki><!--
-->| Corriente Patria Libre = <nowiki>#A7D3F3</nowiki><!--
-->| Recrear para el Crecimiento = <nowiki>#35649C</nowiki><!--
-->| Unión Cívica Nacional = <nowiki>#22b14c</nowiki><!--
-->| Unión Cívica Radical Antipersonalista = <nowiki>#76ACDC</nowiki><!--
-->| Unión Cívica Radical del Pueblo = <nowiki>#E10019</nowiki><!--
-->| Unión Cívica Radical Intransigente = <nowiki>#E36552</nowiki><!--
-->| Unión del Pueblo Argentino = <nowiki>#00708B</nowiki><!--
-->| Unión por Todos <!--
-->| Unión por la Libertad = <nowiki>#73288B</nowiki><!--
==== Barbados ====
-->| Congreso Democrático Popular = <nowiki>#333333</nowiki><!--
-->| Gobierno del Reino de Barbados = <nowiki>#000000</nowiki><!--
-->| Movimiento por la Integridad de Barbados = <nowiki>#E87A25</nowiki><!--
-->| Partido Conservador Progresista (Barbados) = <nowiki>#8064A2</nowiki><!--
-->| Partido del Pueblo por la Democracia y el Desarrollo = <nowiki>#BBD17A</nowiki><!--
-->| Partido Democrático Laborista (Barbados) = <nowiki>#FFD700</nowiki><!--
-->| Partido Laborista de Barbados = <nowiki>#EC2227</nowiki><!--
-->| Partido Libre Bajan = <nowiki>#000000</nowiki><!--
-->| Partido Progresista Unido (Barbados) = <nowiki>#FFA500</nowiki><!--
-->| Soluciones para Barbados = <nowiki>#ACC437</nowiki><!--
-->| Partido Nacional de Barbados = <nowiki>#76933C</nowiki><!--
-->| Asociación de Electores de Barbados = <nowiki>#AA00D4</nowiki><!--
==== Belice ===
-->| Partido Popular Unido = <nowiki>#003F87</nowiki><!--
-->| Partido Democrático Unido (Belice) = <nowiki>#CE1126</nowiki><!--
-->| Alianza Nacional por los Derechos Beliceños = <nowiki>#228B22</nowiki><!--
-->| Partido Demócrata Cristiano (Belice) = <nowiki>#FF7F00</nowiki><!--
-->| Partido de la Independencia Nacional (Belice) = <nowiki>#CC0000</nowiki><!--
-->| Partido Nacional (Belice) = <nowiki>#00FFFF</nowiki><!--
==== Botsuana ====
-->| Partido Democrático de Botsuana = <nowiki>#E11E26</nowiki><!--
-->| Paraguas para el Cambio Democrático (2014) = <nowiki>#E28334</nowiki><!--
-->| Paraguas para el Cambio Democrático (2019) = <nowiki>#244197</nowiki><!--
-->| Frente Nacional de Botsuana = <nowiki>#fbc201</nowiki><!--
-->| Partido del Congreso de Botsuana = <nowiki>#95c94a</nowiki><!--
-->| Movimiento por la Democracia de Botsuana = <nowiki>#F58924</nowiki><!--
-->| Alianza para los Progresistas = <nowiki>#622795</nowiki><!--
-->| Frente Patriótico de Botsuana = <nowiki>#fece00</nowiki><!--
-->| Movimiento de la Alianza de Botsuana = <nowiki>#000088</nowiki><!--
-->| Partido Popular de Botsuana = <nowiki>#00CC00</nowiki><!--
-->| Partido de la Independencia de Botsuana = <nowiki>#000099</nowiki><!--
-->| Partido de la Libertad y la Independencia = <nowiki>#000000</nowiki><!--
==== Brasil ====
-->| Partido Laborista de Brasil = <nowiki>#ED5F36</nowiki><!--
-->| Avante (partido político) = <nowiki>#ED5F36</nowiki><!--
-->| Partido Socialdemócrata Cristiano<!--
-->| Democracia Cristiana (Brasil) = <nowiki>#333E90</nowiki><!--
-->| Partido del Frente Liberal<!--
-->| Demócratas (Brasil) = <nowiki>#8CC63E</nowiki><!--
-->| Partido del Movimiento Democrático Brasileño<!--
-->| Movimiento Democrático Brasileño (1980) = <nowiki>#30914D</nowiki><!--
-->| Partido Comunista Brasileño = <nowiki>#9C0000</nowiki><!--
-->| Partido Comunista de Brasil = <nowiki>#A30000</nowiki><!--
-->| Partido de la Causa Obrera = <nowiki>#5C0000</nowiki><!--
-->| Partido de la Movilización Nacional = <nowiki>#DD3333</nowiki><!--
-->| Partido de la Mujer Brasileña = <nowiki>#003366</nowiki><!--
-->| Partido de la Reconstrucción del Orden Nacional = <nowiki>#000000</nowiki><!--
-->| Partido de la Social Democracia Brasileña = <nowiki>#0080FF</nowiki><!--
-->| Partido de los Retirados de la Nación = <nowiki>#008000</nowiki><!--
-->| Partido de los Trabajadores (Brasil) = <nowiki>#CC0000</nowiki><!--
-->| Partido Democrático Laborista (Brasil) = <nowiki>#CC0033</nowiki><!--
-->| Partido Humanista de la Solidaridad = <nowiki>#8A191E</nowiki><!--
-->| Partido Laborista Brasileño = <nowiki>#7B7B7B</nowiki><!--
-->| Partido Laborista Cristiano = <nowiki>#FFFF00</nowiki><!--
-->| Partido Liberal (Brasil)<!--
-->| Partido de la República<!--
-->| Partido Liberal (Brasil, 2006) = <nowiki>#3C3E96</nowiki><!--
-->| Partido Nuevo (Brasil) = <nowiki>#FF5E00</nowiki><!--
-->| Partido Patria Libre (Brasil) = <nowiki>#58B324</nowiki><!--
-->| Partido Popular Socialista (Brasil) = <nowiki>#FF9191</nowiki><!--
-->| Ciudadanía (partido político) = <nowiki>#EC008C</nowiki><!--
-->| Partido Progresista Brasileño<!--
-->| Partido Progresista (Brasil)<!--
-->| Progresistas (Brasil) = <nowiki>#7DC9FF</nowiki><!--
-->| Partido Renovador Laborista Brasileño = <nowiki>#006324</nowiki><!--
-->| Partido Republicano Brasileño = <nowiki>#00E6A8</nowiki><!--
-->| Republicanos (Brasil) = <nowiki>#0066CC</nowiki><!--
-->| Partido Republicano de Orden Social = <nowiki>#FF5460</nowiki><!--
-->| Partido Republicano Progresista (Brasil) = <nowiki>#9DACD1</nowiki><!--
-->| Partido Social Cristiano (Brasil) = <nowiki>#009118</nowiki><!--
-->| Partido Social Democrático (Brasil, 2011) = <nowiki>#FFA500</nowiki><!--
-->| Partido Social Liberal (Brasil) = <nowiki>#203B78</nowiki><!--
-->| Partido Socialismo y Libertad (Brasil) = <nowiki>#700000</nowiki><!--
-->| Partido Socialista Brasileño = <nowiki>#FFC300</nowiki><!--
-->| Partido Socialista de los Trabajadores Unificado = <nowiki>#FFD500</nowiki><!--
-->| Partido Verde (Brasil) = <nowiki>#006600</nowiki><!--
-->| Partido Ecológico Nacional<!--
-->| Patriota (Brasil) = <nowiki>#CCAA00</nowiki><!--
-->| Partido Laborista Nacional = <nowiki>#AFB908</nowiki><!--
-->| Podemos (Brasil) = <nowiki>#2DA933</nowiki><!--
-->| Red de Sostenibilidad = <nowiki>#379E8D</nowiki><!--
-->| Solidaridad (Brasil) = <nowiki>#FF9C2B</nowiki><!--
==== Cabo Verde ====
-->| Movimiento para la Democracia (Cabo Verde) = <nowiki>#01C700</nowiki><!--
-->| Partido Africano de la Independencia de Cabo Verde = <nowiki>#FCD116</nowiki><!--
-->| Partido de la Convergencia Democrática (Cabo Verde) = <nowiki>#E77F8A</nowiki><!--
-->| Partido de la Renovación Democrática = <nowiki>#02569F</nowiki><!--
-->| Partido Social Demócrata (Cabo Verde) = <nowiki>#7C3479</nowiki><!--
-->| Unión Caboverdiana Independiente y Democrática = <nowiki>#0066FF</nowiki><!--
-->| Partido del Trabajo y la Solidaridad = <nowiki>#5963CF</nowiki><!--
-->| Partido Popular (Cabo Verde) = <nowiki>#3CB54C</nowiki><!--
-->| Alianza Democrática para el Cambio = <nowiki>#128385</nowiki><!--
==== Canadá ====
-->| Partido Liberal de Canadá = <nowiki>#EA6D6A</nowiki><!--
-->| Partido Conservador de Canadá = <nowiki>#6495ED</nowiki><!--
-->| Partido Conservador Progresista = <nowiki>#9999FF</nowiki><!--
-->| Partido Reformista de Canadá = <nowiki>#3CB371</nowiki><!--
-->| Alianza Canadiense = <nowiki>#5F9EA0</nowiki><!--
-->| Nuevo Partido Democrático = <nowiki>#F4A460</nowiki><!--
-->| Bloc Québécois = <nowiki>#87CEFA</nowiki><!--
-->| Partido Verde de Canadá = <nowiki>#99C955</nowiki><!--
-->| Partido del Crédito Social de Canadá = <nowiki>#90EE90</nowiki><!--
-->| Federación del Commonwealth Co-operativo = <nowiki>#EEDDAA</nowiki><!--
-->| Partido Popular de Canadá = <nowiki>#83789E</nowiki><!--
-->| Laborista (Canadá)<!--
-->| Granjero-Laborista (Canadá) = <nowiki>#EEBBBB</nowiki><!--
-->| Partido Socialdemócrata (Canadá) = <nowiki>#DA7C7C</nowiki><!--
===== Partidos provinciales (contando históricos) =====
====== Columbia Británica ======
-->| Partido Liberal de Columbia Británica = <nowiki>#A51B12</nowiki><!--
-->| Partido del Crédito Social de Columbia Británica = <nowiki>#ADD8E6</nowiki><!--
-->| Partido Reformista de Columbia Británica = <nowiki>#00BFFF</nowiki><!--
-->| Alianza Demócrata Progresista (Columbia Británica) = <nowiki>#AA99CC</nowiki><!--
-->| Partido Socialista de Columbia Británica = <nowiki>#FFD700</nowiki><!--
-->| Partido Provincial de Columbia Británica = <nowiki>#98CED6</nowiki><!--
-->| Grupo Independiente No Partidista = <nowiki>#287BC8</nowiki><!--
====== Alberta ======
-->| Partido Liberal de Alberta = <nowiki>#E51A38</nowiki><!--
-->| Partido Conservador Progresista de Alberta = <nowiki>#003366</nowiki><!--
-->| Partido de Alberta = <nowiki>#00AEEF</nowiki><!--
-->| Partido Wildrose = <nowiki>#336633</nowiki><!--
-->| Partido Conservador Unido (Alberta) = <nowiki>#005D7C</nowiki><!--
====== Saskatchewan ======
-->| Partido de Saskatchewan = <nowiki>#3CB371</nowiki><!--
====== Quebec ======
-->| Parti libéral du Québec = <nowiki>#EA6D6A</nowiki><!--
-->| PLQ = <nowiki>#EA6D6A</nowiki><!--
-->| Parti Québécois = <nowiki>#004C9D</nowiki><!--
-->| PQ = <nowiki>#004C9D</nowiki><!--
-->| Parti québécois = <nowiki>#004C9D</nowiki><!--
-->| Coalition Avenir Quebec = <nowiki>#1E90FF</nowiki><!--
-->| CAQ = <nowiki>#1E90FF</nowiki><!--
-->| Québéc solidaire = <nowiki>#FF8040</nowiki><!--
-->| QS = <nowiki>#FF8040</nowiki><!--
-->| Option Nationale = <nowiki>#4683C4</nowiki><!--
-->| Acción Democrática de Quebec = <nowiki>#B0C4DE</nowiki><!--
-->| Partido Igualdad = <nowiki>#FFE4B5</nowiki><!--
-->| EGA = <nowiki>#FFE4B5</nowiki><!--
-->| Union Nationale = <nowiki>#0088C2</nowiki><!--
====== Nueva Brunswick ======
-->| Alianza Popular de Nueva Brunswick = <nowiki>#AA99CC</nowiki><!--
====== Yukon ======
-->| Partido de Yukon = <nowiki>#035B9B</nowiki><!--
==== Chile ====
===== Alianzas =====
-->| Concertación de Partidos por la Democracia = <nowiki>#FFA500</nowiki><!--
-->| Alianza (Chile) = <nowiki>#4682B4</nowiki><!--
-->| Alianza de Centro (Chile) = <nowiki>#0000CD</nowiki><!--
-->| Liberal-Socialista Chileno = <nowiki>#B22222</nowiki><!--
-->| Unidad para la Democracia = <nowiki>#DC143C</nowiki><!--
-->| Movimiento de Izquierda Democrática Allendista<!--
-->| Alternativa Democrática de Izquierda = <nowiki>#FF0000</nowiki><!--
-->| La Nueva Izquierda = <nowiki>#FF7F00</nowiki><!--
-->| La Izquierda (Chile) = <nowiki>#DF0102</nowiki><!--
-->| Chile 2000 = <nowiki>#B51601</nowiki><!--
===== Partidos =====
-->| Partido Demócrata Cristiano (Chile) = <nowiki>#1E90FF</nowiki><!--
-->| Partido por la Democracia = <nowiki>#FFA500</nowiki><!--
-->| Partido Radical (Chile)<!--
-->| Partido Radical Socialdemócrata = <nowiki>#CD5C5C</nowiki><!--
-->| Partido Socialista de Chile = <nowiki>#CE0021</nowiki><!--
-->| Partido Humanista de Chile = <nowiki>#FF4500</nowiki><!--
-->| Los Verdes (Chile) = <nowiki>#00A550</nowiki><!--
-->| Renovación Nacional = <nowiki>#135BB8</nowiki><!--
-->| Unión Demócrata Independiente = <nowiki>#000080</nowiki><!--
-->| Partido del Sur = <nowiki>#00C100</nowiki><!--
-->| Avanzada Nacional = <nowiki>#000000</nowiki><!--
-->| Democracia Radical = <nowiki>#00E2C8</nowiki><!--
-->| Partido Liberal (Chile, 1988-1994) = <nowiki>#F5D60A</nowiki><!--
-->| Partido Liberal (Chile, 1998-2002) = <nowiki>#FED700</nowiki><!--
-->| Partido Socialista Chileno (1987-1990) = <nowiki>#FF0000</nowiki><!--
-->| Partido Nacional (Chile) = <nowiki>#000080</nowiki><!--
-->| Partido Amplio de Izquierda Socialista = <nowiki>#FF0000</nowiki><!--
-->| Partido Radical Socialista Democrático = <nowiki>#800080</nowiki><!--
-->| Partido Comunista de Chile = <nowiki>#DF0102</nowiki><!--
-->| Movimiento de Acción Popular Unitario = <nowiki>#55CD00</nowiki><!--
-->| Unión de Centro Centro = <nowiki>#B51601</nowiki><!--
-->| Alianza Humanista Verde = <nowiki>#FF7F00</nowiki><!--
-->| Movimiento Ecologista (Chile) = <nowiki>#00A550</nowiki><!--
-->| Partido Socialdemocracia Chilena = <nowiki>#FF0000</nowiki><!--
-->| Nueva Alianza Popular = <nowiki>#FF0000</nowiki><!--
-->| Bando pelucón = <nowiki>#0070B8</nowiki><!--
-->| Bando pipiolo = <nowiki>#E60026</nowiki><!--
==== República Popular China ====
===== Continental =====
===== Hong Kong =====
-->| Democratic Alliance (Hong Kong) = <nowiki>#1861AC</nowiki><!--
-->| Business and Professionals Alliance for Hong Kong = <nowiki>#78CAEC</nowiki><!--
-->| Hong Kong Federation of Trade Unions = <nowiki>#FF0000</nowiki><!--
-->| Liberal Party (Hong Kong) = <nowiki>#00AEEF</nowiki><!--
-->| New People's Party (Hong Kong) = <nowiki>#1C8BCD</nowiki><!--
-->| Mesa Redonda (Hong Kong) = <nowiki>#509CCD</nowiki><!--
===== Macao =====
==== República de China (Taiwán) ====
-->| Partido Progresista Democrático<!--
-->| Partido Progresista Democrático (República de China) = <nowiki>#1B9431</nowiki><!--
-->| Kuomintang = <nowiki>#0000AA</nowiki><!--
==== Costa Rica ====
===== Actuales =====
-->| Partido Accesibilidad Sin Exclusión = <nowiki>#4682B4</nowiki><!--
-->| Partido Acción Ciudadana = <nowiki>#FFD700 </nowiki><!--
-->| Alianza Demócrata Cristiana = <nowiki>#483D8B</nowiki><!--
-->| Partido de los Trabajadores (Costa Rica) = <nowiki>#FF0000</nowiki><!--
-->| Frente Amplio (Costa Rica) = <nowiki>#FFEF00</nowiki><!--
-->| Partido Integración Nacional = <nowiki>#122562</nowiki><!--
-->| Partido Liberación Nacional = <nowiki>#008024</nowiki><!--
-->| Partido Liberal Progresista (Costa Rica) = <nowiki>#FF7300</nowiki><!--
-->| Movimiento Libertario (Costa Rica) = <nowiki>#DC143C</nowiki><!--
-->| Partido Nueva Generación = <nowiki>#0070B8</nowiki><!--
-->| Partido Nueva República = <nowiki>#87CEFA</nowiki><!--
-->| Partido Progreso Social Democrático = <nowiki>#00FF00</nowiki><!--
-->| Renovación Costarricense = <nowiki>#0000CD</nowiki><!--
-->| Partido Republicano Social Cristiano = <nowiki>#BC141A</nowiki><!--
-->| Restauración Nacional (Costa Rica) = <nowiki>#0059CF</nowiki><!--
-->| Partido Unidad Social Cristiana = <nowiki>#0454A3</nowiki><!--
-->| Unidos Podemos (Costa Rica) = <nowiki>#8806CE</nowiki><!--
-->| Unión Liberal (Costa Rica) = <nowiki>#00008B</nowiki><!--
=====Históricos=====
-->| Bloque de Obreros y Campesinos = <nowiki>#800000</nowiki><!--
-->| Partido Comunista Costarricense = <nowiki>#8B0000</nowiki><!--
-->| Liberal (Costa Rica) = <nowiki>#BF1313</nowiki><!--
-->| Coalición Unidad = <nowiki>#2C93FB</nowiki><!--
-->| Partido Agrícola = <nowiki>#008000</nowiki><!--
-->| Partido Civil (Costa Rica) = <nowiki>#C61318</nowiki><!--
-->| Partido Constitucional (Costa Rica) = <nowiki>#00308A</nowiki><!--
-->| Vanguardia Popular (Costa Rica) = <nowiki>#AD0430</nowiki><!--
-->| Fuerza Democrática = <nowiki>#FFA500</nowiki><!--
-->| Partido Demócrata (Costa Rica) = <nowiki>#2A5C92</nowiki><!--
-->| Partido Nacional (Costa Rica) = <nowiki>#3CB35E</nowiki><!--
-->| Partido Peliquista = <nowiki>#2F4F4F</nowiki><!--
-->| Partido Republicano (Costa Rica) = <nowiki>#0018A8</nowiki><!--
-->| Partido Republicano Nacional = <nowiki>#FF1414</nowiki><!--
-->| Partido Social Demócrata (Costa Rica) = <nowiki>#542073</nowiki><!--
-->| Partido Unión Nacional (Costa Rica) = <nowiki>#204FBA</nowiki><!--
-->| Partido Unificación Nacional = <nowiki>#595CFF</nowiki><!--
-->| Pueblo Unido (Costa Rica) = <nowiki>#AD0430</nowiki><!--
==== Ecuador ====
===== Actuales =====
-->| Alianza País = <nowiki>#00FF00</nowiki><!--
-->| Avanza = <nowiki>#0000FF</nowiki><!--
-->| Izquierda Democrática (Ecuador) = <nowiki>#FFA500</nowiki><!--
-->| Movimiento AMIGO = <nowiki>#000000</nowiki><!--
-->| Movimiento Centro Democrático = <nowiki>#FF4500</nowiki><!--
-->| Movimiento Construye = <nowiki>#0041B3</nowiki><!--
-->| Movimiento CREO = <nowiki>#1B5DA6</nowiki><!--
-->| Movimiento Democracia Sí = <nowiki>#B713C5</nowiki><!--
-->| Movimiento Nacional Juntos Podemos = <nowiki>#4682B4</nowiki><!--
-->| Pachakutik = <nowiki>#FE2EC8</nowiki><!--
-->| Partido Social Cristiano = <nowiki>#FFD700</nowiki><!--
-->| Partido Socialista Ecuatoriano = <nowiki>#AA0000</nowiki><!--
-->| Partido Sociedad Patriótica = <nowiki>#006400</nowiki><!--
-->| Partido SUMA = <nowiki>#87CEFA</nowiki><!--
-->| Revolución Ciudadana = <nowiki>#00B0F6</nowiki><!--
-->| Unidad Popular (Ecuador) = <nowiki>#FF0000</nowiki><!--
=====Históricos=====
-->| Acción Popular Revolucionaria Ecuatoriana = <nowiki>#6F917C</nowiki><!--
-->| Acción Revolucionaria Nacionalista Ecuatoriana = <nowiki>#884400</nowiki><!--
-->| Coalición Institucionalista Democrática = <nowiki>#ADFF2F</nowiki><!--
-->| Concentración de Fuerzas Populares = <nowiki>#000000</nowiki><!--
-->| Democracia Popular (Ecuador) = <nowiki>#008F4C</nowiki><!--
-->| Federación Nacional Velasquista = <nowiki>#00008B</nowiki><!--
-->| Frente Radical Alfarista = <nowiki>#4169E1</nowiki><!--
-->| Fuerza Ecuador = <nowiki>#FFFF00</nowiki><!--
-->| Movimiento Ciudadanos Nuevo País = <nowiki>#90EE90</nowiki><!--
-->| Movimiento Concertación = <nowiki>#00CED1</nowiki><!--
-->| Movimiento Ecuatoriano Unido = <nowiki>#382983</nowiki><!--
-->| Movimiento Justicia Social = <nowiki>#B73622</nowiki><!--
-->| Movimiento MIRA (Ecuador) = <nowiki>#DC143C</nowiki><!--
-->| Movimiento Popular Democrático (Ecuador) = <nowiki>#FF4500</nowiki><!--
-->| Movimiento Unión Ecuatoriana = <nowiki>#DC143C</nowiki><!--
-->| Partido Comunista del Ecuador = <nowiki>#CD5C5C</nowiki><!--
-->| Partido Conservador Ecuatoriano = <nowiki>#0000FF</nowiki><!--
-->| Partido Demócrata (Ecuador) = <nowiki>#90EE90</nowiki><!--
-->| Partido Liberal Radical Ecuatoriano = <nowiki>#FF0000</nowiki><!--
-->| Partido Progresista de Ecuador = <nowiki>#ADD8E6</nowiki><!--
-->| Partido Nacionalista Revolucionario = <nowiki>#800080</nowiki><!--
-->| Partido Renovador Institucional Acción Nacional = <nowiki>#FFFF00</nowiki><!--
-->| Partido Roldosista Ecuatoriano = <nowiki>#CC0000</nowiki><!--
-->| Partido Unidad Republicana = <nowiki>#D0FF14</nowiki><!--
-->| Pueblo, Cambio y Democracia = <nowiki>#FFFF00</nowiki><!--
-->| Red Ética y Democracia = <nowiki>#000000</nowiki><!--
==== Estados Unidos ====
-->| Partido de la Constitución = <nowiki>#A356DE</nowiki><!--
-->| Partido de la Reforma de los Estados Unidos = <nowiki>#6A287E</nowiki><!--
-->| Partido Demócrata (Estados Unidos) = <nowiki>#3333FF</nowiki><!--
-->| Partido Libertario (Estados Unidos) = <nowiki>#FED105</nowiki><!--
-->| Partido de la Independencia de Minesota = <nowiki>#FFC14E</nowiki><!--
-->| Partido Republicano (Estados Unidos) = <nowiki>#E81B23</nowiki><!--
-->| Partido Verde (Estados Unidos) <!--
-->| Partido Verde de los Estados Unidos = <nowiki>#00A95C</nowiki><!--
-->| Partido Basado en la Legalización del Cannabis = <nowiki>#50C878</nowiki><!--
-->| Partido Progresista Abierto de Minesota = <nowiki>#CCFF33</nowiki><!--
-->| Partido Whig (Estados Unidos) = <nowiki>#F0C862</nowiki><!--
===== Puerto Rico =====
-->| Movimiento Victoria Ciudadana = <nowiki>#E0A230</nowiki><!--
-->| Partido del Pueblo Trabajador = <nowiki>Purple</nowiki><!--
-->| Partido Independentista Puertorriqueño = <nowiki>#2D9F4D</nowiki><!--
-->| Partido Nuevo Progresista = <nowiki>#161687</nowiki><!--
-->| Partido Popular Democrático = <nowiki>#FF3333</nowiki><!--
-->| Partido Puertorriqueños por Puerto Rico = <nowiki>#FFA500</nowiki><!--
-->| Proyecto Dignidad = <nowiki>#00B7EB</nowiki><!--
==== España ====
-->| ADCG <!--
-->| Ciudadanos de Galicia <!--
-->| Acción Democrática Ciudadanos de Galicia = <nowiki>#2E568A</nowiki><!--
-->| PACT <!--
-->| Actúa = <nowiki>#007776</nowiki><!--
-->| AA <!--
-->| Adelante Andalucía = <nowiki>#45B37A</nowiki><!--
-->| AHI <!--
-->| Agrupación Herrera Independiente = <nowiki>#298A08</nowiki><!--
-->| ARM <!--
-->| Agrupación Ruiz-Mateos = <nowiki>#28365D</nowiki><!--
-->| ASG <!--
-->| Agrupación Socialista Gomera = <nowiki>#B70C0C</nowiki><!--
-->| ATI <!--
-->| Agrupación Tinerfeña de Independientes = <nowiki>#000088</nowiki><!--
-->| AIC <!--
-->| Agrupaciones Independientes de Canarias = <nowiki>#000088</nowiki><!--
-->| AP <!--
-->| Alianza Popular = <nowiki>#FFD42A</nowiki><!--
-->| Alternatiba = <nowiki>#CE010C</nowiki><!--
-->| AGE <!--
-->| Alternativa Galega de Esquerda = <nowiki>#0094FF</nowiki><!--
-->| AAeC <!--
-->| Alto Aragón en Común = <nowiki>#B222EB</nowiki><!--
-->| Amaiur = <nowiki>#008081</nowiki><!--
-->| Andaluces Levantaos = <nowiki>#5AB491</nowiki><!--
-->| AxSí<!--
-->| AxSi<!--
-->| Andalucía por Sí = <nowiki>#83C141</nowiki><!--
-->| Andecha <!--
-->| Andecha Astur = <nowiki>#A53042</nowiki><!--
-->| Anova <!--
-->| Anova-Irmandade Nacionalista = <nowiki>#0094FF</nowiki><!--
-->| Anticapitalistas <!--
-->| Anticapitalistas (asociación) = <nowiki>#62CC62</nowiki><!--
-->| Ara Eivissa = <nowiki>#1FC6BC</nowiki><!--
-->| Ara Maó = <nowiki>#39AFB1</nowiki><!--
-->| Aralar = <nowiki>#FF0000</nowiki><!--
-->| BComú <!--
-->| BeC <!--
-->| Barcelona en Comú = <nowiki>#EA5438</nowiki><!--
-->| Batzarre = <nowiki>#BB0076</nowiki><!--
-->| BLOC <!--
-->| Bloc Nacionalista Valenciano <!--
-->| Bloc Nacionalista Valencià = <nowiki>#EC6A00</nowiki><!--
-->| BNG <!--
-->| Bloque Nacionalista Galego = <nowiki>#ADCFEF</nowiki><!--
-->| Bloque por Asturies <!--
-->| Bloque por Asturias = <nowiki>#751069</nowiki><!--
-->| CUP <!--
-->| Candidatura de Unidad Popular = <nowiki>#FFEE00</nowiki><!--
-->| Catalunya en Comú <!--
-->| CatEnComú <!--
-->| Catalunya en Comú = <nowiki>#B5333F</nowiki><!--
-->| CatEnComúPodem <!--
-->| Catalunya en Comú Podem <!--
-->| Catalunya en Comú-Podem = <nowiki>#912C45</nowiki><!--
-->| CSQP<!--
-->| Catalunya Sí que es Pot = <nowiki>#A3466D</nowiki><!--
-->| CDS <!--
-->| Centro Democrático y Social = <nowiki>#05C673</nowiki><!--
-->| CHA <!--
-->| Chunta Aragonesista = <nowiki>#AD0017</nowiki><!--
-->| Cs <!--
-->| Ciudadanos = <nowiki>#EB6109</nowiki><!--
-->| Caballas <!--
-->| Coalición Caballas = <nowiki>#C9601C</nowiki> <!--
-->| CC <!--
-->| Coalición Canaria = <nowiki>#FFD700</nowiki><!--
-->| CD <!--
-->| Coalición Democrática = <nowiki>#8E9629</nowiki><!--
-->| CG <!--
-->| Coalición Galega = <nowiki>#026CED</nowiki><!--
-->| CP <!--
-->| Coalición Popular = <nowiki>#3282A8</nowiki><!--
-->| CpM <!--
-->| Coalición por Melilla = <nowiki>#298642</nowiki><!--
-->| Compostela Aberta = <nowiki>#6BC9EC</nowiki><!--
-->| Compromís = <nowiki>#E65F00</nowiki><!--
-->| És el Moment <!--
-->| Compromís-Podemos-És el Moment = <nowiki>#FA743E</nowiki><!--
-->| A la Valenciana <!--
-->| Compromís-Podemos-EUPV: A la Valenciana = <nowiki>#2AAB8C</nowiki><!--
-->| CxG <!--
-->| Compromiso por Galicia = <nowiki>#329C3E</nowiki><!--
-->| CONTIGO <!--
-->| Contigo Somos Democracia = <nowiki>#761031</nowiki><!--
-->| CDC <!--
-->| Convergencia Democrática de Catalunya = <nowiki>#00447B</nowiki><!--
-->| CiU <!--
-->| Convergencia i Unió <!--
-->| Convergència i Unió = <nowiki>#18307B</nowiki><!--
-->| C21 <!--
-->| Converxencia 21 = <nowiki>#FDB612</nowiki><!--
-->| DC <!--
-->| Demòcrates de Catalunya <!--
-->| Demócratas de Cataluña = <nowiki>#1375CE</nowiki><!--
-->| DiL <!--
-->| Democracia y Libertad <!--
-->| Democràcia i Llibertat = <nowiki>#212765</nowiki><!--
-->| El Pi <!--
-->| El Pi-Proposta per les Illes = <nowiki>#590076</nowiki><!--
-->| ECP <!--
-->| En Comú Podem = <nowiki>#6E236E</nowiki><!--
-->| En Comú Podem2015 = <nowiki>#D42B16</nowiki><!--
-->| EC-UP <!--
-->| En Común = <nowiki>#0B0682</nowiki><!--
-->| EM <!--
-->| En Marea = <nowiki>#0036FF</nowiki><!--
-->| Equo = <nowiki>#8ABA18</nowiki><!--
-->| ERC <!--
-->| Esquerra Republicana de Catalunya = <nowiki>#FFB32E</nowiki><!--
-->| EUCat <!--
-->| Esquerra Unida Catalunya = <nowiki>#C8102E</nowiki><!--
-->| EUiA <!--
-->| Esquerra Unida i Alternativa = <nowiki>#AB1636</nowiki><!--
-->| EE <!--
-->| Euskadiko Ezkerra = <nowiki>#000000</nowiki><!--
-->| EH Bildu (2012-2023) <!--
-->| EHB (2012-2023) <!--
-->| Euskal Herria Bildu (2012-2023) = <nowiki>#C4D600</nowiki><!--
-->| EH Bildu <!--
-->| EHB <!--
-->| Euskal Herria Bildu = <nowiki>#00D0B6</nowiki><!--
-->| EH <!--
-->| Euskal Herritarrok = <nowiki>#AD0039</nowiki><!--
-->| EA <!--
-->| Eusko Alkartasuna = <nowiki>#BD2E15</nowiki><!--
-->| ExUn <!--
-->| Extremadura Unida = <nowiki>#085500</nowiki><!--
-->| FE de las JONS <!--
-->| Falange Española de las JONS= <nowiki>#EA0400</nowiki><!--
-->| FORO <!--
-->| FAC <!--
-->| Foro Asturias = <nowiki>#0082CA</nowiki><!--
-->| FR <!--
-->| Front Republicà = <nowiki>#313535</nowiki><!--
-->| GEC<!--
-->| Galicia en Común<!--
-->| Galicia en Común-Anova-Mareas = <nowiki>#0B0682</nowiki><!--
-->| GxF <!--
-->| Gent per Formentera = <nowiki>#E6057F</nowiki><!--
-->| GBai<!--
-->| Geroa Bai = <nowiki>#F75E42</nowiki><!--
-->| GCE<!--
-->| Grupo Común da Esquerda<!--
-->| Grupo Común da Esquerda = <nowiki>#6D52C1</nowiki><!--
-->| HB <!--
-->| Batasuna <!--
-->| Herri Batasuna = <nowiki>#633000</nowiki><!--
-->| IdPV <!--
-->| Iniciativa del Pueblo Valenciano <!--
-->| Iniciativa del Poble Valencià = <nowiki>#AB233C</nowiki><!--
-->| IFem<!--
-->| Iniciativa Feminista = <nowiki>#E3287A</nowiki><!--
-->| ICV <!--
-->| Iniciativa per Catalunya Verds = <nowiki>#009966</nowiki><!--
-->| ICV-EUiA <!--
-->| Iniciativa per Catalunya Verds-Esquerra Unida i Alternativa = <nowiki>#86AE33</nowiki><!--
-->| IZCA <!--
-->| Izquierda Castellana = <nowiki>#800080</nowiki><!--
-->| IZQP<!--
-->| Izquierda en Positivo = <nowiki>#9B0F40</nowiki><!--
-->| IU <!--
-->| Izquierda Unida (España) = <nowiki>#DF0022</nowiki><!--
-->| I-E <!--
-->| Izquierda-Ezkerra = <nowiki>#C8102E</nowiki><!--
-->| JxSí <!--
-->| Junts pel Sí = <nowiki>#5AB6A1</nowiki><!--
-->| JxCAT <!--
-->| JxCat <!--
-->| Junts per Catalunya = <nowiki>#EE5976</nowiki><!--
-->| Junts <!--
-->| Junts per Catalunya = <nowiki>#20C0C2</nowiki><!--
-->| La Falange <!--
-->| La Falange (partido) = <nowiki>#000000</nowiki><!--
-->| LxE <!--
-->| Libres por Euskadi = <nowiki>#47B7AF</nowiki><!--
-->| LFF <!--
-->| Liga Foralista Foruzaleak <!--
-->| Liga Foralista = <nowiki>#20B14A</nowiki><!--
-->| Marea Atlántica = <nowiki>#00AEEF</nowiki><!--
-->| Marea Galeguista = <nowiki>#255C7A</nowiki><!--
-->| MM <!--
-->| Más Madrid = <nowiki>#45BB89</nowiki><!--
-->| MP <!--
-->| Más País = <nowiki>#06DFC5</nowiki><!--
-->| Més-Esquerra <!--
-->| Més Esquerra = <nowiki>#DACE5D</nowiki><!--
-->| MÉS <!--
-->| Més per Mallorca = <nowiki>#CBD100</nowiki><!--
-->| MxMe <!--
-->| Més per Menorca = <nowiki>#CBD146</nowiki><!--
-->| MDyC <!--
-->| Movimiento por la Dignidad y la Ciudadanía = <nowiki>#0D6600</nowiki><!--
-->| NaBai <!--
-->| Nafarroa Bai = <nowiki>#E20A15</nowiki><!--
-->| NA+ <!--
-->| Navarra Suma = <nowiki>#2A52BE</nowiki><!--
-->| NCa <!--
-->| Nueva Canarias = <nowiki>#85BD42</nowiki><!--
-->| OE <!--
-->| Ongi Etorri = <nowiki>#FFFF05</nowiki><!--
-->| PA <!--
-->| Partido Andalucista = <nowiki>#1CA838</nowiki><!--
-->| PACMA <!--
-->| Partido Animalista Contra el Maltrato Animal = <nowiki>#00FF7F</nowiki><!--
-->| PAR <!--
-->| Partido Aragonés = <nowiki>#FFB812</nowiki><!--
-->| PCAN <!--
-->| Partido Cantonal (España) = <nowiki>#99011A</nowiki><!--
-->| Partido Carlista (1970) = <nowiki>#DC143C</nowiki><!--
-->| PCAS <!--
-->| Partido Castellano-Tierra Comunera = <nowiki>#660099</nowiki><!--
-->| PCE <!--
-->| Partido Comunista de España = <nowiki>#D70729</nowiki><!--
-->| PCPE <!--
-->| Partido Comunista de los Pueblos de España = <nowiki>#BF0E1D</nowiki><!--
-->| PCTE <!--
-->| Partido Comunista de los Trabajadores de España = <nowiki>#BF0E1D</nowiki><!--
-->| PCOE <!--
-->| Partido Comunista Obrero Español = <nowiki>#FB3D42</nowiki><!--
-->| PDP <!--
-->| Partido Demócrata Popular = <nowiki>#50A750</nowiki><!--
-->| PASOC <!--
-->| Partido de Acción Socialista = <nowiki>#FF0002</nowiki><!--
-->| AU.TO.NO.MO<!--
-->| Partido de los Autónomos y Profesionales = <nowiki>#000000</nowiki><!--
-->| PSC <!--
-->| Partido de los Socialistas de Cataluña = <nowiki>#E10916</nowiki><!--
-->| PDeCAT<!--
-->| Partido Demócrata Europeo Catalán = <nowiki>#005CA9</nowiki><!--
-->| PH <!--
-->| Partido Humanista (España) = <nowiki>#FF753A</nowiki><!--
-->| P-LIB <!--
-->| Partido Libertario = <nowiki>#C9A900</nowiki><!--
-->| PNC <!--
-->| Partido Nacionalista Canario = <nowiki>#059085</nowiki><!--
-->| PNV <!--
-->| Partido Nacionalista Vasco = <nowiki>#008000</nowiki><!--
-->| Partido Pirata (España) = <nowiki>#660087</nowiki><!--
-->| PP (2008-2022)<!--
-->| Partido Popular (2008-2022) = <nowiki>#1D84CE</nowiki><!--
-->| PP <!--
-->| Partido Popular = <nowiki>#1E4B8F</nowiki><!--
-->| PP+Cs <!--
-->| PPCs <!--
-->| Partido Popular+Ciudadanos = <nowiki>#7198B6</nowiki><!--
-->| PRC <!--
-->| Partido Regionalista de Cantabria = <nowiki>#C3CF04</nowiki><!--
-->| PR+ <!--
-->| Partido Riojano = <nowiki>#64A903</nowiki><!--
-->| PSE <!--
-->| Partido Socialista de Euskadi = <nowiki>#CD5C5C</nowiki><!--
-->| PSOE <!--
-->| Partido Socialista Obrero Español = <nowiki>#FF0000</nowiki><!--
-->| PSUC <!--
-->| Partido Socialista Unificado de Cataluña = <nowiki>#D61316</nowiki><!--
-->| PPSO <!--
-->| Plataforma del Pueblo Soriano = <nowiki>#12689A</nowiki><!--
-->| Podemos = <nowiki>#9370DB</nowiki><!--
-->| Por Andalucía = <nowiki>#009B7D</nowiki><!--
-->| XAV <!--
-->| Por Ávila = <nowiki>#F7D70E</nowiki><!--
-->| PUM+J <!--
-->| Por un Mundo Más Justo = <nowiki>#4BBCED</nowiki><!--
-->| PYLN <!--
-->| Puyalón <!--
-->| Puyalón de Cuchas = <nowiki>#FF003C</nowiki><!--
-->| Recortes Cero <!--
-->| R0 <!--
-->| Recortes Cero-Los Verdes = <nowiki>#00872B</nowiki><!--
-->| Soberanistas <!--
-->| Sobiranistes = <nowiki>#B8226F</nowiki><!--
-->| SR <!--
-->| Somos Región = <nowiki>#F9EB4C</nowiki><!--
-->| Sumar <!--
-->| Movimiento Sumar <!--
-->| Sumar = <nowiki>#E51C55</nowiki><!--
-->| TE <!--
-->| Teruel Existe = <nowiki>#007351</nowiki><!--
-->| Tierra Comunera = <nowiki>#660099</nowiki><!--
-->| UPeC <!--
-->| Unidad Popular en Común <!--
-->| Unidad Popular (España) = <nowiki>#732021</nowiki><!--
-->| UP <!--
-->| Unidas Podemos = <nowiki>#693279</nowiki><!--
-->| Unidas Podemos por Andalucía = <nowiki>#307b36</nowiki><!--
-->| Unidos Podemos = <nowiki>#612D62</nowiki><!--
-->| UNIDOS <!--
-->| UNIDOS por el Futuro <!--
-->| Unidos por el Futuro = <nowiki>#615F8B</nowiki><!--
-->| UCD <!--
-->| Unión de Centro Democrático = <nowiki>#197E36</nowiki><!--
-->| UCDE <!--
-->| Unión Cristiano Demócrata Española = <nowiki>#000087</nowiki><!--
-->| UDC <!--
-->| Unión Democrática de Cataluña = <nowiki>#0033A9</nowiki><!--
-->| UN <!--
-->| Unión Nacional = <nowiki>#00008B</nowiki><!--
-->| UPC <!--
-->| Unión del Pueblo Canario = <nowiki>#FFD700</nowiki><!--
-->| UPL <!--
-->| Unión del Pueblo Leonés = <nowiki>#C71585</nowiki><!--
-->| UPN <!--
-->| Unión del Pueblo Navarro = <nowiki>#2A52BE</nowiki><!--
-->| UV <!--
-->| Unió Valenciana <!--
-->| Unión Valenciana = <nowiki>#1F4473</nowiki><!--
-->| Units <!--
-->| Units per Avançar = <nowiki>#EC185B</nowiki><!--
-->| UPCA <!--
-->| Unión para el Progreso de Cantabria = <nowiki>#2E8B57</nowiki><!--
-->| UPyD <!--
-->| Unión Progreso y Democracia = <nowiki>#EC008C</nowiki><!--
-->| URAS <!--
-->| Unión Renovadora Asturiana = <nowiki>#00D8D8</nowiki><!--
-->| Voces Progresistas <!--
-->| Veus Progressistes = <nowiki>#DACE5D</nowiki><!--
-->| Vox <!--
-->| Vox (partido político) = <nowiki>#63BE21</nowiki><!--
-->| Zabaltzen = <nowiki>#BB0000</nowiki><!--
==== Estonia ====
-->| Estonia 200 = <nowiki>#06778D</nowiki><!--
-->| Isamaa = <nowiki>#009CE2</nowiki><!--
-->| Partido del Centro Estonio = <nowiki>#007557</nowiki><!--
-->| Partido de la Coalición Estonia = <nowiki>#F0953A</nowiki><!--
-->| Partido de la Constitución (Estonia) = <nowiki>#E56509</nowiki><!--
-->| Partido de la Independencia Estonia = <nowiki>#6495ED</nowiki><!--
-->| Partido de la Izquierda Unida Estonia = <nowiki>#FF0000</nowiki><!--
-->| Partido de los Demócratas Cristianos Estonios = <nowiki>#1E2D80</nowiki><!--
-->| Partido Libre Estonio = <nowiki>#0086CF</nowiki><!--
-->| Partido Popular Conservador de Estonia = <nowiki>#0063AF</nowiki><!--
-->| Partido Reformista Estonio = <nowiki>#FBCF05</nowiki><!--
-->| Partido Res Publica = <nowiki>#04427C</nowiki><!--
-->| Partido Socialdemócrata (Estonia) = <nowiki>#E10600</nowiki><!--
-->| Unión Popular de Estonia = <nowiki>#F5B453</nowiki><!--
-->| Unión Pro Patria = <nowiki>#014F9A</nowiki><!--
-->| Unión Pro Patria y Res Publica = <nowiki>#00AEEF</nowiki><!--
-->| Verdes Estonios = <nowiki>#80BB3D</nowiki><!--
==== Europa ====
===== Partidos =====
-->| Alianza Libre Europea = <nowiki>#671B88</nowiki><!--
-->| Alianza por la Paz y la Libertad = <nowiki>#000000</nowiki><!--
-->| Europa de la Libertad y la Democracia Directa = <nowiki>#24B9B9</nowiki><!--
-->| Europa de las Naciones y de las Libertades = <nowiki>#2B3856</nowiki><!--
-->| Movimiento Político Cristiano Europeo = <nowiki>#303278</nowiki><!--
-->| Identidad y Democracia<!--
-->| Partido Identidad y Democracia = <nowiki>#004B93</nowiki><!--
-->| Alianza de los Liberales y Demócratas por Europa <!--
-->| Partido de la Alianza de los Liberales y Demócratas por Europa = <nowiki>gold</nowiki><!--
-->| Partido de la Izquierda Europea = <nowiki>maroon</nowiki><!--
-->| Conservadores y Reformistas Europeos <!--
-->| Alianza de los Conservadores y Reformistas Europeos <!--
-->| Partido de los Conservadores y Reformistas Europeos = <nowiki>#0054A5</nowiki><!--
-->| Partido Demócrata Europeo = <nowiki>#EE9900</nowiki><!--
-->| Partido Pirata Europeo = <nowiki>#000000</nowiki><!--
-->| Partido Popular Europeo = <nowiki>#3399FF</nowiki><!--
-->| Partido de los Socialistas Europeos = <nowiki>#F0001C</nowiki><!--
-->| Partido Verde Europeo = <nowiki>#99CC33</nowiki><!--
-->| Volt <!--
-->| Volt Europa = <nowiki>#582C83</nowiki><!--
===== Grupos parlamentarios =====
-->| Izquierda Unitaria Europea/Izquierda Verde Nórdica <!--
-->| Grupo Confederal de la Izquierda Unitaria Europea/Izquierda Verde Nórdica = <nowiki>#990000</nowiki><!--
-->| Alianza Progresista de Socialistas y Demócratas <!--
-->| Grupo de la Alianza Progresista de Socialistas y Demócratas = <nowiki>#FF0000</nowiki><!--
-->| Grupo de Los Verdes/Alianza Libre Europea = <nowiki>#009900</nowiki><!--
-->| Grupo Unión por la Europa de las Naciones = <nowiki>#4F6BA2</nowiki><!--
-->| No inscritos (Parlamento Europeo) = <nowiki>#999999</nowiki><!--
==== Finlandia ====
-->| Alianza de la Izquierda = <nowiki>#F00A64</nowiki><!--
-->| Demócrata Cristianos (Finlandia) = <nowiki>#0235A4</nowiki><!--
-->| Liga Agraria (Finlandia) = <nowiki>#74C365</nowiki><!--
-->| Liga Verde = <nowiki>#61BF1A</nowiki><!--
-->| Partido Coalición Nacional = <nowiki>#006288</nowiki><!--
-->| Partido del Centro (Finlandia) = <nowiki>#01954B</nowiki><!--
-->| Partido de la Juventud Finlandesa = <nowiki>#3399FF</nowiki><!--
-->| Partido de los Finlandeses = <nowiki>#FFDE55</nowiki><!--
-->| Partido Finlandés = <nowiki>#3333FF</nowiki><!--
-->| Partido Pirata (Finlandia) = <nowiki>#660099</nowiki><!--
-->| Partido Popular Sueco de Finlandia = <nowiki>#FFDD93</nowiki><!--
-->| Partido Progresista Nacional (Finlandia) = <nowiki>gold</nowiki><!--
-->| Partido Socialdemócrata de Finlandia = <nowiki>#E11931</nowiki><!--
=== Granada ===
-->| Nuevo Partido Nacional (Granada) = <nowiki>#006B31</nowiki><!--
-->| Congreso Nacional Democrático (Granada) = <nowiki>#FECA09</nowiki><!--
-->| Partido Laborista Unido de Granada = <nowiki>#D50000</nowiki><!--
-->| Partido Nacional de Granada = <nowiki>#026701</nowiki><!--
-->| Movimiento New Jewel = <nowiki>#FFA500</nowiki><!--
-->| El Partido Nacional (Granada) = <nowiki>#EF7E2E</nowiki><!--
-->| Partido de Renacimiento de Granada = <nowiki>#4BACC6</nowiki><!--
-->| Movimiento Democrático Popular (Granada) = <nowiki>#366091</nowiki><!--
==== Italia ====
; Alianzas nacionales (incluyendo históricas)
-->| Alianza de los Progresistas = <nowiki>#D90000</nowiki><!--
-->| Área Popular = <nowiki>#1464BE</nowiki><!--
-->| Bloques Nacionales = <nowiki>#15317E</nowiki><!--
-->| Casa de las Libertades = <nowiki>#0A6BE1</nowiki><!--
-->| Coalición de centroderecha = <nowiki>#0A6BE1</nowiki><!--
-->| Coalición de centroizquierda = <nowiki>#EF3E3E</nowiki><!--
-->| Compromiso histórico = <nowiki>#FF91A4</nowiki><!--
-->| Con Monti por Italia = <nowiki>#5A8BE3</nowiki><!--
-->| Derecha histórica = <nowiki>#1E87B2</nowiki><!--
-->| El Olivo = <nowiki>#EF3E3E</nowiki><!--
-->| Elección Cívica = <nowiki>#1560BD</nowiki><!--
-->| Elección Europea = <nowiki>#6495ED</nowiki><!--
-->| Europa Verde = <nowiki>#73C170</nowiki><!--
-->| Extrema izquierda histórica = <nowiki>#00542E</nowiki><!--
-->| Frente Democrático Popular (Italia) = <nowiki>#EE2C21</nowiki><!--
-->| Italia. Bien Común = <nowiki>#EF3E3E</nowiki><!--
-->| Izquierda disidente = <nowiki>#66CC99</nowiki><!--
-->| Izquierda histórica = <nowiki>#2E8B57</nowiki><!--
-->| Izquierda Independiente (Italia) = <nowiki>#CE2029</nowiki><!--
-->| Juntos (Italia) = <nowiki>#3CB371</nowiki><!--
-->| La Izquierda (Italia) = <nowiki>#CB2725</nowiki><!--
-->| La Otra Europa con Tsipras = <nowiki>#C80000</nowiki><!--
-->| La Unión (Italia) = <nowiki>#EF3E3E</nowiki><!--
-->| Libres e Iguales (Italia) = <nowiki>#C72837</nowiki><!--
-->| Lista Cívica Popular = <nowiki>#DF0174</nowiki><!--
-->| Más Europa = <nowiki>gold</nowiki><!--
-->| Nosotros con Italia = <nowiki>#1F6BB8</nowiki><!--
-->| Pacto de Demócratas = <nowiki>darkorange</nowiki><!--
-->| Pacto por la Autonomía = <nowiki>#0055AB</nowiki><!--
-->| Poder al Pueblo (Italia) = <nowiki>#A0142E</nowiki><!--
-->| Polo del Buen Gobierno <!--
-->| Polo de las Libertades = <nowiki>#0A6BE1</nowiki><!--
-->| Polo por las Libertades = <nowiki>#0A6BE1</nowiki><!--
-->| Por las Autonomías = <nowiki>#FF8581</nowiki><!--
-->| PSI-PSDI Unificados = <nowiki>#ED2855</nowiki><!--
-->| Revolución Civil = <nowiki>#FF6600</nowiki><!--
-->| Rosa en el Puño = <nowiki>#FFD700</nowiki><!--
-->| Valle de Aosta (coalición) = <nowiki>#48D1CC</nowiki><!--
; Partidos políticos (incluyendo regionales e históricos)
-->| Acción (Italia) = <nowiki>#0039AA</nowiki><!--
-->| Acción Nacional (Italia) = <nowiki>#336699</nowiki><!--
-->| Alianza Democrática (Italia) = <nowiki>#228B22</nowiki><!--
-->| Alianza Nacional (Italia) = <nowiki>#004E99</nowiki><!--
-->| Alianza Liberal Popular = <nowiki>#3366FF</nowiki><!--
-->| Alianza por Italia = <nowiki>#89CFF0</nowiki><!--
-->| Alianza Siciliana = <nowiki>#004F91</nowiki><!--
-->| Alternativa Independiente para Italianos en el extranjero = <nowiki>#FFF100</nowiki><!--
-->| Alternativa Popular = <nowiki>#1464BE</nowiki><!--
-->| Alternativa Social = <nowiki>#000080</nowiki><!--
-->| Área Progresista = <nowiki>#F87431</nowiki><!--
-->| Artículo Uno = <nowiki>#D21B30</nowiki><!--
-->| Asociaciones Italianas en Sudamérica = <nowiki>#2B346C</nowiki><!--
-->| Asociación Nacionalista Italiana = <nowiki>#00008B</nowiki><!--
-->| Autonomía Libertad Democracia = <nowiki>#E56717</nowiki><!--
-->| Autonomistas Independientes = <nowiki>#EBECF0</nowiki><!--
-->| Cambiamo! = <nowiki>#E58321</nowiki><!--
-->| CasaPound = <nowiki>#000000</nowiki><!--
-->| Centristas por Europa = <nowiki>lightblue</nowiki><!--
-->| Centro Cristiano Democrático = <nowiki>lightskyblue</nowiki><!--
-->| Centro Democrático (Italia) = <nowiki>#FF9900</nowiki><!--
-->| Conservadores y Reformistas (Italia) = <nowiki>#0054A5</nowiki><!--
-->| Coraggio Italia = <nowiki>#E5007D</nowiki><!--
-->| Cristianos Democráticos Unidos = <nowiki>lightblue</nowiki><!--
-->| Democracia Cristiana (Italia) = <nowiki>#87CEFA</nowiki><!--
-->| Democracia Cristiana (Italia, 2002) = <nowiki>#1560BD</nowiki><!--
-->| Democracia Cristiana por las Autonomías = <nowiki>#ADD8E6</nowiki><!--
-->| Democracia es Libertad-La Margarita = <nowiki>#3CB371</nowiki><!--
-->| Democracia Proletaria = <nowiki>#A1292F</nowiki><!--
-->| Democracia Solidaria = <nowiki>#449192</nowiki><!--
-->| Democracia y Autonomía = <nowiki>#E4601D</nowiki><!--
-->| Demócratas de Izquierda = <nowiki>#C72F35</nowiki><!--
-->| Demócratas Populares = <nowiki>#BCD4E6</nowiki><!--
-->| Die Freiheitlichen = <nowiki>#1560BD</nowiki><!--
-->| 10 Veces Mejor = <nowiki>#F56000</nowiki><!--
-->| Diventerà Bellissima = <nowiki>#086A87</nowiki><!--
-->| El Pueblo de la Familia = <nowiki>#342D7E</nowiki><!--
-->| El Pueblo de la Libertad = <nowiki>#0087DC</nowiki><!--
-->| Energías para Italia = <nowiki>#FBB917</nowiki><!--
-->| Fasces Italianos de Combate <!--
-->| Fasci italiani di combattimento = <nowiki>#000000</nowiki><!--
-->| Federación de los Liberales = <nowiki>#0047AB</nowiki><!--
-->| Federación de las Listas Verdes <!--
-->| Federación de los Verdes = <nowiki>#6CC417</nowiki><!--
-->| Forza Italia (1994) = <nowiki>#0087DC</nowiki><!--
-->| Forza Italia (2013) = <nowiki>#0087DC</nowiki><!--
-->| Fuerza Nueva (Italia) = <nowiki>#000000</nowiki><!--
-->| Futuro y Libertad = <nowiki>#1C39BB</nowiki><!--
-->| Gran Norte = <nowiki>#0045AA</nowiki><!--
-->| Gran Sur = <nowiki>#FF7F00</nowiki><!--
-->| ¡Hacer! = <nowiki>#FFFA00</nowiki><!--
-->| Hacer para Detener el Declive = <nowiki>#F00000</nowiki><!--
-->| Hermanos de Italia = <nowiki>#03386A</nowiki><!--
-->| Identidad y Acción = <nowiki>#0045AA</nowiki><!--
-->| Independencia Véneta = <nowiki>#FBDA38</nowiki><!--
-->| Italia de los Valores = <nowiki>#FFA500</nowiki><!--
-->| Italia en Común = <nowiki>#349655</nowiki><!--
-->| Italia Viva = <nowiki>#D6418C</nowiki><!--
-->| Izquierda Ecología Libertad = <nowiki>#C80815</nowiki><!--
-->| Izquierda Italiana = <nowiki>#EF3E3E</nowiki><!--
-->| La Derecha (Italia) = <nowiki>#030E40</nowiki><!--
-->| Liberales, Demócratas y Radicales = <nowiki>Gold</nowiki><!--
-->| Liga de Acción Meridional = <nowiki>#00008B</nowiki><!--
-->| Liga (Italia) <!--
-->| Liga Norte = <nowiki>#008000</nowiki><!--
-->| Lista Pannella = <nowiki>#FFD700</nowiki><!--
-->| Lista Tosi por Véneto = <nowiki>#ADD8E6</nowiki><!--
-->| Llama Tricolor = <nowiki>#000000</nowiki><!--
-->| Los Demócratas = <nowiki>#FF9E5E</nowiki><!--
-->| Los Populares de Italia Mañana = <nowiki>#4763B0</nowiki><!--
-->| Los Socialistas Italianos = <nowiki>red</nowiki><!--
-->| Moderados (Italia) = <nowiki>#008ECE</nowiki><!--
-->| Movimiento Asociativo Italianos en el Exterior = <nowiki>#333B8E</nowiki><!--
-->| Movimiento 5 Estrellas = <nowiki>#FFEB3B</nowiki><!--
-->| Movimiento Nacional por la Soberanía = <nowiki>#2B3856</nowiki><!--
-->| Movimiento Naranja = <nowiki>#FF6600</nowiki><!--
-->| Movimiento Político Schittulli = <nowiki>#1464BE</nowiki><!--
-->| Movimiento por las Autonomías = <nowiki>#00CCCC</nowiki><!--
-->| Movimiento por la Democracia-La Red = <nowiki>#DF0174</nowiki><!--
-->| Movimiento Republicanos Europeos = <nowiki>#008000</nowiki><!--
-->| Movimiento Social Italiano = <nowiki>#000000</nowiki><!--
-->| Nosotros con Salvini = <nowiki>#0F52BA</nowiki><!--
-->| Nueva Centroderecha = <nowiki>#05517E</nowiki><!--
-->| Nuevo Partido Socialista Italiano <!--
-->| Nuevo PSI = <nowiki>salmon</nowiki><!--
-->| Pacto Segni = <nowiki>Gold</nowiki><!--
-->| Partido Agrario (Italia) = <nowiki>#006600</nowiki><!--
-->| Partido Autonomista Trentino Tirolés = <nowiki>#000000</nowiki><!--
-->| Partido Comunista de Italia <!--
-->| Partido Comunista Italiano = <nowiki>#C72F35</nowiki><!--
-->| Partido Comunista de los Trabajadores (Italia) = <nowiki>#DC142F</nowiki><!--
-->| Partido Comunista (Italia) = <nowiki>#F00000</nowiki><!--
-->| Partido de Acción = <nowiki>#009246</nowiki><!--
-->| Partido de Acción (1848) = <nowiki>#F0002B</nowiki><!--
-->| Partido de la Alternativa Comunista = <nowiki>maroon</nowiki><!--
-->| Partido de la Refundación Comunista = <nowiki>#A1292F</nowiki><!--
-->| Partido Comunista Italiano (2016) <!--
-->| Partido Comunista de Italia (2014) <!--
-->| Partido de los Comunistas Italianos = <nowiki>#FC2D2D</nowiki><!--
-->| Partido de los Pensionistas (Italia) = <nowiki>#1560BD</nowiki><!--
-->| Partido de los Sardos = <nowiki>#ED6D16</nowiki><!--
-->| Partido de Unidad Proletaria (Italia) = <nowiki>#922727</nowiki><!--
-->| Partido Demócrata de Izquierda <!--
-->| Partido Democrático de la Izquierda = <nowiki>#C72F35</nowiki><!--
-->| Partido Demócrata (Italia) <!--
-->| Partido Democrático (Italia) = <nowiki>#EF1C27</nowiki><!--
-->| Partido Democrático Constitucional (Italia) = <nowiki>#6495ED</nowiki><!--
-->| Partido Democrático del Trabajo = <nowiki>Pink</nowiki><!--
-->| Partido Liberal Democrático (Italia) = <nowiki>Gold</nowiki><!--
-->| Partido Democrático Social Italiano = <nowiki>#1E99C5</nowiki><!--
-->| Partido Fascista Republicano = <nowiki>#000000</nowiki><!--
-->| Partido Liberal Italiano = <nowiki>#2975C2</nowiki><!--
-->| Partido Liberal Italiano (1997) = <nowiki>#2975C2</nowiki><!--
-->| Partido Moderado (Italia) = <nowiki>#1E87B2</nowiki><!--
-->| Partido Monárquico Popular = <nowiki>#002366</nowiki><!--
-->| Partido Nacional Fascista = <nowiki>#000000</nowiki><!--
-->| Partido Democrático Italiano de Unidad Monárquica <!--
-->| Partido Nacional Monárquico = <nowiki>#536CE8</nowiki><!--
-->| Partido Popular del Tirol del Sur = <nowiki>#000000</nowiki><!--
-->| Partido Popular Italiano (1919) = <nowiki>#87CEFA</nowiki><!--
-->| Partido Popular Italiano (1994) = <nowiki>#B6CCFB</nowiki><!--
-->| Partido Radical Italiano = <nowiki>#00542E</nowiki><!--
-->| Partido Radical (Italia) = <nowiki>orange</nowiki><!--
-->| Partido Republicano Italiano = <nowiki>#3CB371</nowiki><!--
-->| Partido Sardo de Acción = <nowiki>#282828</nowiki><!--
-->| Partido Socialista Democrático Italiano = <nowiki>#FF8282</nowiki><!--
-->| Partido Socialista Democrático Italiano (2004) = <nowiki>#DC142F</nowiki><!--
-->| Partido Socialista Italiano = <nowiki>#ED2855</nowiki><!--
-->| Partido Socialista Italiano (2007) = <nowiki>#DC143C</nowiki><!--
-->| Partido Socialista Reformista Italiano = <nowiki>Pink</nowiki><!--
-->| Partido Socialista Unitario (1922) = <nowiki>#E35A5A</nowiki><!--
-->| Pentapartito = <nowiki>#FF9966</nowiki><!--
-->| Populares por Italia = <nowiki>#0D4AA5</nowiki><!--
-->| Unión de Demócratas por Europa <!--
-->| Populares UDEUR = <nowiki>#FF7F00</nowiki><!--
-->| Por Italia = <nowiki>lightskyblue</nowiki><!--
-->| Por Italia en el Mundo con Tremaglia = <nowiki>#2577B3</nowiki><!--
-->| Por Nuestro Valle = <nowiki>#9BDDFF</nowiki><!--
-->| Posible (Italia) = <nowiki>#993366</nowiki><!--
-->| Proyecto República de Cerdeña = <nowiki>#479C54</nowiki><!--
-->| Radicales Italianos = <nowiki>#FFD700</nowiki><!--
-->| Reformadores Sardos = <nowiki>#2B65EC</nowiki><!--
-->| Renacimiento (partido político búlgaro) = <nowiki>#56A5EC</nowiki><!--
-->| Renovación Italiana = <nowiki>#1935D0</nowiki><!--
-->| Sicilianos Libres = <nowiki>gold</nowiki><!--
-->| Socialistas Demócratas Italianos = <nowiki>#ED1B34</nowiki><!--
-->| Socialistas Italianos = <nowiki>red</nowiki><!--
-->| Edelweiss (partido político) <!--
-->| Stella Alpina = <nowiki>#1989D4</nowiki><!--
-->| Unidad Socialista (Italia) = <nowiki>#FF8282</nowiki><!--
-->| Unión Autonomista Ladina = <nowiki>#6495ED</nowiki><!--
-->| Unión de Centro (1993) = <nowiki>#659EC7</nowiki><!--
-->| Unión de Centro (2002) = <nowiki>#87CEFA</nowiki><!--
-->| Unión Democrática (Italia) = <nowiki>#800080</nowiki><!--
-->| Unión Democrática por la República = <nowiki>orange</nowiki><!--
-->| Unión Electoral Católica Italiana = <nowiki>#000000</nowiki><!--
-->| Unión Eslovena = <nowiki>#0055AB</nowiki><!--
-->| Unión Liberal (Italia) = <nowiki>#0047AB</nowiki><!--
-->| Unión por Trentino = <nowiki>#89CFF0</nowiki><!--
-->| Unión Sudamericana Emigrantes Italianos = <nowiki>#DEE573</nowiki><!--
-->| Unión Valdostana = <nowiki>#4A9FD5</nowiki><!--
-->| Unión Valdostana Progresista (2013) = <nowiki>#F07636</nowiki><!--
-->| Verdes (Tirol del Sur) = <nowiki>#6B8E23</nowiki><!--
-->| Yo el Sur = <nowiki>#0A5C8A</nowiki><!--
==== Macedonia del Norte ====
-->| Alternativa Democrática (Macedonia del Norte) = <nowiki>#800080</nowiki><!--
-->| Nuevo Partido Socialdemócrata = <nowiki>#9999CC</nowiki><!--
-->| VMRO-DPMNE <!--
-->| Organización Revolucionaria Interna de Macedonia - Partido Democrático para la Unidad Nacional Macedonia = <nowiki>#BF0202</nowiki><!--
-->| Partido Liberal de Macedonia = <nowiki>#FFFF00</nowiki><!--
-->| Partido Liberal Democrático (Macedonia del Norte) = <nowiki>#2B2F7D</nowiki><!--
-->| Unión Democrática por la Integración = <nowiki>#344B9B</nowiki><!--
-->| Unión Socialdemócrata de Macedonia = <nowiki>#033A73</nowiki><!--
==== México ====
-->| Movimiento Ciudadano = <nowiki>#FFA500</nowiki><!--
-->| Movimiento Regeneración Nacional = <nowiki>#B5261E</nowiki><!--
-->| Nueva Alianza (partido político) = <nowiki>#48D1CC</nowiki><!--
-->| Partido Acción Nacional = <nowiki>#05338D</nowiki><!--
-->| Partido Encuentro Social = <nowiki>#800080</nowiki><!--
-->| Partido de la Revolución Democrática = <nowiki>#FFD700</nowiki><!--
-->| Partido del Trabajo (México) = <nowiki>#DA251D</nowiki><!--
-->| Partido Revolucionario Institucional = <nowiki>#009150</nowiki><!--
-->| Partido Verde Ecologista de México = <nowiki>#04B404</nowiki><!--
==== Noruega ====
-->| Høyre = <nowiki>#87ADD7</nowiki><!--
-->| Partido de Centro (Noruega) = <nowiki>#008542</nowiki><!--
-->| Partido de la Izquierda Socialista = <nowiki>#BC2149</nowiki><!--
-->| Partido del Progreso (Noruega) = <nowiki>#024C93</nowiki><!--
-->| Partido Demócrata Cristiano (Noruega) = <nowiki>#FEC11E</nowiki><!--
-->| Partido Laborista (Noruega) = <nowiki>#E31836</nowiki><!--
-->| Partido Rojo = <nowiki>#E73445</nowiki><!--
-->| Partido Verde (Noruega) = <nowiki>#5D961C</nowiki><!--
-->| Venstre (Noruega) = <nowiki>#116468</nowiki><!--
==== Nueva Zelanda ====
-->| ACT Nueva Zelanda = <nowiki>#FDE401</nowiki><!--
-->| Futuro Unido = <nowiki>#501557</nowiki><!--
-->| Nueva Zelanda Primero = <nowiki>#000000</nowiki><!--
-->| Partido Laborista de Nueva Zelanda = <nowiki>#D82A20</nowiki><!--
-->| Partido Maorí = <nowiki>#B2001A</nowiki><!--
-->| Partido Nacional de Nueva Zelanda = <nowiki>#00529F</nowiki><!--
-->| Partido Verde de Aotearoa Nueva Zelanda = <nowiki>#098137</nowiki><!--
==== Reino Unido ====
-->| Liberal Demócratas (Reino Unido) = <nowiki>#FAA61A</nowiki><!--
-->| Conservative Party (UK) <!-- alias
-->| Partido Conservador (Reino Unido) = <nowiki>#0087DC</nowiki><!--
-->| Partido de la Alianza de Irlanda del Norte = <nowiki>#F6CB2F</nowiki><!--
-->| Partido del Brexit = <nowiki>#12B6CF</nowiki><!--
-->| Partido de la Independencia del Reino Unido = <nowiki>#70147A</nowiki><!--
-->| Labour Party (UK) <!-- alias
-->| Partido Laborista (Reino Unido) = <nowiki>#E4003B</nowiki><!--
-->| Partido Nacional Escocés = <nowiki>#FDF38E</nowiki><!--
-->| Partido Unionista del Ulster = <nowiki>#48A5EE</nowiki><!--
-->| Partido Unionista Democrático = <nowiki>#D46A4C</nowiki><!--
-->| Partido Verde de Inglaterra y Gales = <nowiki>#6AB023</nowiki><!--
-->| Plaid Cymru = <nowiki>#008142</nowiki><!--
-->| Sinn Féin = <nowiki>#326760</nowiki><!--
==== República Dominicana ====
-->| Alianza País (República Dominicana) = <nowiki>#009999</nowiki><!--
-->| Bloque Institucional Socialdemócrata <!--
-->| Bloque Institucional Social Demócrata = <nowiki>#004569</nowiki><!--
-->| Frente Amplio (República Dominicana) = <nowiki>#FFD700</nowiki><!--
-->| Fuerza del Pueblo = <nowiki>#00AB5A</nowiki><!--
-->| Fuerza Nacional Progresista = <nowiki>#2A52BE</nowiki><!--
-->| Partido Cívico Renovador = <nowiki>#183B69</nowiki><!--
-->| Partido de la Liberación Dominicana = <nowiki>#641294</nowiki><!--
-->| Partido de Unidad Nacional (República Dominicana) = <nowiki>#008000</nowiki><!--
-->| Partido Dominicanos por el Cambio = <nowiki>#00B2EB</nowiki><!--
-->| Partido Quisqueyano Demócrata Cristiano = <nowiki>#FDF200</nowiki><!--
-->| Partido Reformista Social Cristiano = <nowiki>#FF0000</nowiki><!--
-->| Partido Revolucionario Dominicano = <nowiki>#99CCFF</nowiki><!--
-->| Partido Revolucionario Moderno = <nowiki>#005BAC</nowiki><!--
-->| Partido Revolucionario Social Demócrata = <nowiki>#0057A3</nowiki><!--
-->| Partido Socialista Verde = <nowiki>#017114</nowiki><!--
==== Rumania ====
===== Antes del desarrollo del sistema moderno de partidos =====
-->| Conservador (Rumania) = <nowiki>#6495ED</nowiki><!--
-->| Conservador moderado (Rumania) = <nowiki>#DDEEFF</nowiki><!--
-->| Liberal moderado (Rumania) = <nowiki>#D7B9FF</nowiki><!--
-->| Liberal radical (Rumania) = <nowiki>#EAD6EA</nowiki><!--
===== Sistema moderno de partidos =====
-->| Frente de Labradores = <nowiki>#FFAEA5</nowiki><!--
-->| Frente de Renacimiento Nacional (Rumania) = <nowiki>#000080</nowiki><!--
-->| Frente de Salvación Nacional (Rumania) = <nowiki>#DA70D6</nowiki><!--
-->| Partido Comunista Rumano = <nowiki>#BF0000</nowiki><!--
-->| Partido Conservador (Rumania, 1880-1918) = <nowiki>#F5F5DC</nowiki><!--
-->| Partido Conservador-Democrático = <nowiki>#DDEEFF</nowiki><!--
-->| Partido Demócrata Liberal (Rumania) = <nowiki>#FF6633</nowiki><!--
-->| Partido Nacional Campesino = <nowiki>#E6E6AA</nowiki><!--
-->| Partido Nacional Campesino Cristiano Demócrata = <nowiki>#004A92</nowiki><!--
-->| Partido Nacional Cristiano (Rumania) = <nowiki>#A52A2A</nowiki><!--
-->| Partido Nacional Liberal (Rumania) = <nowiki>#FFDD00</nowiki><!--
-->| Partido Nacional Rumano = <nowiki>#E6E6AA</nowiki><!--
-->| Partido Nacionalista Demócrata (Rumania) = <nowiki>#000000</nowiki><!--
-->| Partido Popular (Rumania) = <nowiki>#ADD8E6</nowiki><!--
-->| Partido Socialdemócrata (Rumania) = <nowiki>#BF0202</nowiki><!--
-->| Unión Democrática de Húngaros en Rumania = <nowiki>#339900</nowiki><!--
-->| Unión Nacional por el Progreso de Rumania = <nowiki>#B21415</nowiki><!--
==== Singapur ====
-->| Alianza de Singapur = <nowiki>#800080</nowiki><!--
-->| Partido de la Alianza (Malasia) = <nowiki>#000080</nowiki><!--
-->| Alianza Popular de Singapur <!--
-->| Alianza del Pueblo de Singapur = <nowiki>#EE0000</nowiki><!--
-->| Alianza Democrática de Singapur = <nowiki>#92C640</nowiki><!--
-->| Barisan Sosialis = <nowiki>#ADD8E6</nowiki><!--
-->| Consejo Conjunto de la Oposición = <nowiki>#00FF00</nowiki><!--
-->| Convención Solidaria de Malasia = <nowiki>#0052A1</nowiki><!--
-->| Frente Laborista = <nowiki>#804020</nowiki><!--
-->| Frente Nacional Unido (Singapur) = <nowiki>#34ABCD</nowiki><!--
-->| Frente Popular (Singapur) = <nowiki>#2E2ED4</nowiki><!--
-->| Frente Popular Unido (Singapur) = <nowiki>#00CC00</nowiki><!--
-->| Organización Nacional Malaya de Singapur = <nowiki>#01CC00</nowiki><!--
-->| Partido de Acción Popular = <nowiki>#0052A1</nowiki><!--
-->| Partido de la Justicia de Singapur = <nowiki>#CDCC00</nowiki><!--
-->| Partido de la Solidaridad Nacional (Singapur) = <nowiki>#FF9999</nowiki><!--
-->| Partido de los Ciudadanos (Singapur) = <nowiki>#FF0000</nowiki><!--
-->| Partido de los Trabajadores (Singapur) = <nowiki>#DA2128</nowiki><!--
-->| Partido del Poder Popular (Singapur) = <nowiki>#CC222F</nowiki><!--
-->| Partido del Progreso de Singapur = <nowiki>#ED2435</nowiki><!--
-->| Partido del Pueblo Unido (Singapur) = <nowiki>#0055FE</nowiki><!--
-->| Partido Demócrata de Singapur = <nowiki>#BC0001</nowiki><!--
-->| Partido Democrático (Singapur) = <nowiki>#00BFFF</nowiki><!--
-->| Partido Democrático Progresista (Singapur) = <nowiki>#FF9900</nowiki><!--
-->| Partido Laborista (Singapur) = <nowiki>#E2893A</nowiki><!--
-->| Partido Liberal Socialista (Singapur) = <nowiki>#E05B3C</nowiki><!--
-->| Partido Popular de Singapur = <nowiki>#AA0099</nowiki><!--
-->| Partido Progresista (Singapur) = <nowiki>#7789EF</nowiki><!--
-->| Partido Reformista (Singapur) = <nowiki>#FFDD44</nowiki><!--
-->| Punto Rojo Unido = <nowiki>#D21615</nowiki><!--
-->| Singapurenses Primero = <nowiki>#4365DD</nowiki><!--
-->| Unión Malaya (partido político) = <nowiki>#00008B</nowiki><!--
-->| Voz de los Pueblos = <nowiki>#92238D</nowiki><!--
==== Suecia ====
-->| Alternativa para Suecia = <nowiki>#000095</nowiki><!--
-->| Demócratas Cristianos (Suecia) = <nowiki>#2D338E</nowiki><!--
-->| Demócratas de Suecia = <nowiki>#FEDF09</nowiki><!--
-->| Iniciativa Feminista (Suecia) = <nowiki>#CD1B68</nowiki><!--
-->| Liberales (Suecia) = <nowiki>#0069B4</nowiki><!--
-->| Partido del Centro (Suecia) = <nowiki>#39944A</nowiki><!--
-->| Partido Comunista (Suecia) = <nowiki>#990000</nowiki><!--
-->| Partido Comunista de Suecia (1995) = <nowiki>#990000</nowiki><!--
-->| Partido de la Izquierda = <nowiki>#B00000</nowiki><!--
-->| Partido Moderado (Suecia) = <nowiki>#019CDB</nowiki><!--
-->| Partido Pirata (Suecia) = <nowiki>#572B85</nowiki><!--
-->| Partido Socialdemócrata Sueco = <nowiki>#ED1B34</nowiki><!--
-->| Partido Verde (Suecia) = <nowiki>#00C554</nowiki><!--
==== Uruguay ====
-->| Cabildo Abierto (partido político) = <nowiki>#FABE1F</nowiki><!--
-->| Frente Amplio (Uruguay) = <nowiki>#0E4477</nowiki><!--
-->| Partido Colorado (Uruguay) = <nowiki>#BB0000</nowiki><!--
-->| Partido Comunista de Uruguay = <nowiki>#8B0000</nowiki><!--
-->| Partido de la Gente (Uruguay) = <nowiki>#78C75A</nowiki><!--
-->| Partido Independiente (Uruguay) = <nowiki>#500778</nowiki><!--
-->| Partido Nacional (Uruguay) = <nowiki>#80BFFF</nowiki><!--
-->| Partido Nacional Independiente (Uruguay) = <nowiki>#00008B</nowiki><!--
-->| Partido Ecologista Radical Intransigente = <nowiki>#009001</nowiki><!--
-->| Partido Socialista del Uruguay = <nowiki>#008000</nowiki><!--
-->| Unidad Popular (Uruguay) = <nowiki>#000000</nowiki><!--
-->| Unión Cívica (Uruguay) = <nowiki>#0000FF</nowiki><!--
-->| Nuevo Espacio = <nowiki>#BA55D3</nowiki><!--
==== Zambia ====
-->| Frente Patriótico (Zambia) = <nowiki>#3064B0</nowiki><!--
-->| Partido Unido para el Desarrollo Nacional = <nowiki>#D23438</nowiki><!--
-->| Movimiento para la Democracia Multipartidista = <nowiki>#0055D9</nowiki><!--
-->| Partido Unido de la Independencia Nacional = <nowiki>#177618</nowiki><!--
-->| Foro para la Democracia y el Desarrollo = <nowiki>#228C22</nowiki><!--
-->| Congreso Nacional Africano de Zambia = <nowiki>#FFCC00</nowiki><!--
-->| Congreso Democrático de Zambia = <nowiki>#984EA3</nowiki><!--
-->| Partido de la Nueva Herencia = <nowiki>#F0B300</nowiki><!--
-->| Partido Democrático (Zambia) = <nowiki>#FF338C</nowiki><!--
-->| Partido Socialista (Zambia) = <nowiki>#DE2827</nowiki><!--
==== Otros ====
-->| Militar = <nowiki>#556B2F</nowiki><!--
-->| Independientes <!--
-->| Independiente = <nowiki>#B3B3B3</nowiki><!--
-->| Otros <!--
-->| Otro = <nowiki>#DFDFDF</nowiki><!--
==== Valor por defecto ====
-->|#default=inherit
}}</includeonly><noinclude>
[[Categoría:Wikipedia:Plantillas de colores]]
{{Documentación}}
</noinclude>
7b321865f0c64c3506c6941de3074e34d0c94465
Página principal
0
1
1
2024-01-02T19:23:05Z
MediaWiki default
1
Crear la página principal
wikitext
text/x-wiki
__NOTOC__
== ¡Bienvenido a {{SITENAME}}! ==
Esta página principal fue creada automáticamente y parece que aún no ha sido reemplazada.
=== Para los burócratas de esta wiki ===
¡Hola y bienvenido a tu nuevo wiki! Gracias por elegir Miraheze para el alojamiento de tu wiki, esperamos que disfrute de nuestro alojamiento.
Pueden empezar a trabajar inmediatamente en tu wiki o cuando quieras.
¿Necesitas ayuda? ¡No hay problema! Te ayudaremos con tu wiki según sea necesario. Para empezar, pruebe estos enlaces útiles:
* [[mw:Special:MyLanguage/Help:Contents|Guía de MediaWiki (Por ejemplo, navegación, edición, eliminación de páginas, bloqueo de usuarios)]]
* [[meta:Special:MyLanguage/FAQ|FAQ de Miraheze]]
* [[meta:Special:MyLanguage/Request features|Solicitar cambios en tu wiki]]. (La instalación de extensiones, pieles, y los cambios de logotipo o favicon se realizan a través de [[Special:ManageWiki]] en tu wiki. Véanse [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] para más información.)
==== Pero, Miraheze, ¡aún no entiendo X! ====
No hay problema. Incluso si algo no está explicado en la documentación o mencionado en las preguntas frecuentes, estamos dispuestos a ayudar. Nos puedes encontrar:
* [[meta:Special:MyLanguage/Help center|En nuestro propio wiki]]
* En [[phab:|Phabricator]]
* En [https://miraheze.org/discord Discord]
* En el canal #miraheze de IRC, en irc.libera.chat ([irc://irc.libera.chat/%23miraheze enlace directo]; [https://web.libera.chat/?channel=#miraheze chat web])
=== Para los visitantes de esta wiki ===
Hola, la página principal predeterminada de esta wiki (ésta página) aún no ha sido reemplazada por los burócratas de esta wiki. Es posible que el o los burócrata(s) todavía estén trabajando en una página principal, así que por favor ¡visítanos de nuevo más tarde!
28ef609c57817b26a87d6008b14d6fb6d09ec0be
2
1
2024-01-02T19:28:39Z
Superballing2008
2
Protegió «[[Página principal]]» ([Editar=Permitir solo administradores] (indefinido) [Trasladar=Permitir solo administradores] (indefinido))
wikitext
text/x-wiki
__NOTOC__
== ¡Bienvenido a {{SITENAME}}! ==
Esta página principal fue creada automáticamente y parece que aún no ha sido reemplazada.
=== Para los burócratas de esta wiki ===
¡Hola y bienvenido a tu nuevo wiki! Gracias por elegir Miraheze para el alojamiento de tu wiki, esperamos que disfrute de nuestro alojamiento.
Pueden empezar a trabajar inmediatamente en tu wiki o cuando quieras.
¿Necesitas ayuda? ¡No hay problema! Te ayudaremos con tu wiki según sea necesario. Para empezar, pruebe estos enlaces útiles:
* [[mw:Special:MyLanguage/Help:Contents|Guía de MediaWiki (Por ejemplo, navegación, edición, eliminación de páginas, bloqueo de usuarios)]]
* [[meta:Special:MyLanguage/FAQ|FAQ de Miraheze]]
* [[meta:Special:MyLanguage/Request features|Solicitar cambios en tu wiki]]. (La instalación de extensiones, pieles, y los cambios de logotipo o favicon se realizan a través de [[Special:ManageWiki]] en tu wiki. Véanse [[meta:Special:MyLanguage/ManageWiki|ManageWiki]] para más información.)
==== Pero, Miraheze, ¡aún no entiendo X! ====
No hay problema. Incluso si algo no está explicado en la documentación o mencionado en las preguntas frecuentes, estamos dispuestos a ayudar. Nos puedes encontrar:
* [[meta:Special:MyLanguage/Help center|En nuestro propio wiki]]
* En [[phab:|Phabricator]]
* En [https://miraheze.org/discord Discord]
* En el canal #miraheze de IRC, en irc.libera.chat ([irc://irc.libera.chat/%23miraheze enlace directo]; [https://web.libera.chat/?channel=#miraheze chat web])
=== Para los visitantes de esta wiki ===
Hola, la página principal predeterminada de esta wiki (ésta página) aún no ha sido reemplazada por los burócratas de esta wiki. Es posible que el o los burócrata(s) todavía estén trabajando en una página principal, así que por favor ¡visítanos de nuevo más tarde!
28ef609c57817b26a87d6008b14d6fb6d09ec0be
Elecciones presidenciales de Argentina de 1995
0
40
79
78
2024-01-02T19:49:33Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{Ficha de elección
| compacto = sí
| ancho = 50
| nombre_elección = Elecciones presidenciales de 1995
| endisputa = <small>Presidente para el período 1995-1999</small>
| país = Argentina
| tipo = [[Presidente de la Nación Argentina|Presidencial]]
| período = 8 de julio de 1995<br>10 de diciembre de 1999
| encurso = no
| elección_anterior = Elecciones presidenciales de Argentina de 1989
| fecha_anterior = 1989
| siguiente_elección = Elecciones presidenciales de Argentina de 1999
| siguiente_fecha = 1999
| fecha_elección = Domingo 14 de mayo de 1995
| participación = 82.08
| participación_ant = 85.31
| habitantes = 34994818
| registrados = 22178201
| votantes = 18203924
| válidos = 17395284 (95.56%)
| blancos = 653443 (3.59%)
| nulos = 125112 (0.69%)
<!-- Carlos Menem -->
| ancho1 = 54
| imagen1 = File:Menem con banda presidencial (recortada).jpg
| coalición1 = Apoyado por
| partido1_coalición1 = [[Partido Justicialista]]
| partido2_coalición1 = [[Unión del Centro Democrático]]
| partido3_coalición1 = [[Partido Federal (1973)|Partido Federal]] <small>(Nacional)</small>
| partido4_coalición1 = [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]]
| partido5_coalición1 = Movimiento Línea Popular
| partido6_coalición1 = ''Otros partidos''
| candidato1 = [[Carlos Menem]]
| color1 = {{Color político|Partido Justicialista}}
| partido1 = [[Partido Justicialista|PJ]]
| votos1 = 8687511
| votos1_ant = 7957518
| porcentaje1 = 49.94
<!-- José Octavio Bordón -->
| ancho2 = 64
| imagen2 = Archivo:José_Octavio_Bordón.png
| género2 = hombre
| candidato2 = [[José Octavio Bordón]]
| color2 = {{Color político|Frente País Solidario}}
| partido2 = [[Política Abierta para la Integridad Social|PAIS]]
| coalición2 = [[Frente País Solidario]]
| partido1_coalición2 = [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
| partido2_coalición2 = Democracia Popular para el Frente Social
| partido3_coalición2 = [[Frente Grande]]
| partido4_coalición2 = [[Partido Intransigente]]
| partido5_coalición2 = [[Política Abierta para la Integridad Social]]
| partido6_coalición2 = [[Partido Socialista Democrático (Argentina)|Partido Socialista Democrático]]
| partido7_coalición2 = [[Partido Socialista Popular (Argentina)|Partido Socialista Popular]]<br>[[Cruzada Renovadora]]<br>Frente de Liberación 12 de Mayo
| votos2 = 5096104
| porcentaje2 = 29.30
<!-- Horacio Massaccesi -->
| ancho3 = 64
| imagen3 = File:Horacio_Massaccesi_1995.png
| género3 = hombre
| candidato3 = [[Horacio Massaccesi]]
| color3 = {{Color político|Unión Cívica Radical}}
| partido3 = [[Unión Cívica Radical|UCR]]
| coalición3 = Apoyado por
| partido1_coalición3 = [[Unión Cívica Radical]]
| partido2_coalición3 = [[Movimiento de Integración y Desarrollo]]
| partido3_coalición3 = [[Partido Federal (1973)|Partido Federal]] <small>(Córdoba)</small>
| votos3 = 2956137
| votos3_ant = 6213217
| porcentaje3 = 16.99
<!-- Aldo Rico -->
| ancho4 = 64
| imagen4 = File:Aldo_Rico_(cropped).jpg
| género4 = hombre
| candidato4 = [[Aldo Rico]]
| color4 = {{Color político|Movimiento por la Dignidad y la Independencia}}
| partido4 = [[Movimiento por la Dignidad y la Independencia|MODIN]]
| coalición4 = Apoyado por
| partido1_coalición4 = [[Movimiento por la Dignidad y la Independencia]]
| partido2_coalición4 = [[Fuerza Republicana]]
| partido3_coalición4 = Partido de la Independencia
| votos4 = 310069
| porcentaje4 = 1.78
| partido5 = Otros candidatos (10)
| color5 = {{Color político|Otro}}
| votos5 = 345463
| porcentaje5 = 1.99
| imagen5 = File:HSSamarbete.svg
| mapa = File:Mapa de las Elecciones Argentina 1995.png
| mapa_tamaño = 350px
| cargo = [[Archivo:Coat of arms of Argentina.svg|34px]]<br/>[[Presidente de la Nación Argentina]]
| predecesor = [[Carlos Menem]]
| partido_predecesor = [[Partido Justicialista|PJ]]/[[Frente Justicialista Popular|FREJUPO]]
| sucesor = [[Carlos Menem]]
| partido_sucesor = [[Partido Justicialista|PJ]]/[[Unión del Centro Democrático (Argentina)|UCeDé]]
}}
En las '''elecciones presidenciales de [[Argentina]] de 1995''' fue reelegido como [[presidente de la Nación Argentina|presidente de la Nación]] el [[peronista]] [[Carlos Menem]], candidato de una coalición informal del [[Partido Justicialista]] con partidos liberal-conservadores de centro-derecha, quien venció en primera vuelta al también peronista [[José Octavio Bordón]], candidato de una escisión del Partido Justicialista aliada con otras fuerzas bajo el nombre de [[Frente País Solidario]] (FREPASO). Por primera vez desde 1916, el [[Unión Cívica Radical|radicalismo]] no figuró entre las dos fuerzas políticas más votadas, quedando relegado al tercer lugar, quebrándose la estructura bipartidista peronista/radical, que caracterizó a la Argentina [[Elecciones presidenciales de Argentina de 1946|desde 1946]].<ref name=AndyTow>[http://www.andytow.com/atlas/totalpais/1995p.html Atlas Electoral de Andy Tow - Elecciones presidenciales de 1995]</ref>
Las elecciones se realizaron según las reglas del [[reforma constitucional argentina de 1994|texto constitucional definido por la reforma de 1994]], que establecieron el [[sufragio directo]] del presidente y vicepresidente, el acortamiento del mandato de seis a cuatro años, la posibilidad de una reelección inmediata y una [[segunda vuelta electoral]] (balotaje) entre los dos candidatos más votados, si ninguno obtenía en la primera vuelta una ventaja sustancial. La reforma constitucional había establecido también que el período presidencial 1989-1995 sería considerado como primer mandato y que el mandato del presidente elegido en 1995 finalizaría el 10 de diciembre de 1999, una norma excepcional que buscaba volver a sincronizar el mandato presidencial con los demás mandatos constitucionales, luego del desfasaje causado por la dimisión anticipada del presidente [[Raúl Alfonsín|Alfonsín]] en 1989.
Menem ganó en 23 de los 24 distritos electorales (En la [[Ciudad de Buenos Aires]] ganó [[José Octavio Bordón|Bordón]]).
== Antecedentes ==
{{AP|Reforma de la Constitución Argentina de 1994|Elecciones de convencionales constituyentes de Argentina de 1994|Ley de Convertibilidad del Austral}}
El [[Partido Justicialista]] había sido fundado por [[Juan Domingo Perón]] en 1946, en gran parte bajo la promesa de una mayor autosuficiencia, un aumento de la intervención estatal en la economía y un cambio en la política nacional para beneficiar a «la otra mitad» de la sociedad argentina. Al asumir la presidencia en julio de 1989, en medio de un [[Hiperinflación en Argentina|proceso hiperinflacionario]], el [[peronista]] [[Carlos Menem]] inició la privatización sistemática de las empresas estatales de Argentina, que hasta entonces producían casi la mitad de los bienes y servicios de la Nación. Después de dieciocho meses de resultados muy variados, en febrero de 1991, Menem nombró [[Ministerio de Hacienda (Argentina)|ministro de Economía]] a su [[Ministro de Relaciones Exteriores Comercio Internacional y Culto|ministro de Relaciones Exteriores]], [[Domingo Cavallo]], cuya experiencia como economista incluyó un período breve pero en gran parte positivo como presidente del [[Banco Central de la República Argentina]] en 1982. Su introducción de un tipo de cambio fijo a través de su [[Ley de Convertibilidad del Austral|Plan de Convertibilidad]] llevó a fuertes caídas en los tipos de interés y la inflación, el tipo de cambio (convertido a 1 peso por dólar en 1992) dio lugar a un salto de cinco veces en las importaciones (muy por encima del crecimiento de la demanda).
Una ola de despidos después de 1992 creó un tenso clima laboral a menudo empeorado por el extravagante Menem, que también diluyó las leyes laborales básicas, llevando a menos horas extras y aumentando el desempleo y el [[subempleo]]. A los despidos del sector privado, desestimados como una consecuencia natural de la recuperación de la productividad (que no había aumentado en veinte años), se sumaron a los despidos de las empresas estatales y a los despidos del gobierno, lo que provocó un aumento del desempleo del 7 % en 1992 al 12 % en 1994 (al mismo tiempo que el [[PBI]] había aumentado un tercio en sólo cuatro años). En esta política, la ironía era la mayor debilidad de los Justicialistas de cara a las elecciones de 1995.<ref name=todoindex>[http://www.todo-argentina.net/historia/democracia/menem1/index.html Todo Argentina: Menem]</ref>
La elección misma contó con otro giro inesperado. Teniendo prohibida la reelección inmediata por la [[Constitución argentina de 1853|constitución de 1853]], Menem se reunió con el líder de la oposición, [[Raúl Alfonsín]], ex Presidente de la Nación y Presidente del Comité Nacional de la [[Unión Cívica Radical]], en la [[Quinta de Olivos]], en noviembre de 1993 para negociar una amplia reforma constitucional. Los dos dirigentes resolvieron que la reforma sería para beneficio mutuo: la UCR se aseguraba la autonomía para la [[Ciudad de Buenos Aires]] y la creación de un [[Jefe de Gobierno de la Ciudad Autónoma de Buenos Aires|Jefe de Gobierno]] [[Elecciones en la Ciudad Autónoma de Buenos Aires de 1996|elegido directamente]] para dicha entidad federal, siendo que hasta entonces el [[Intendente de Buenos Aires]] era elegido por el presidente de la nación; y un aumento del [[Senado de la Nación Argentina|Senado]] de 48 a 72 asientos (3 por provincia, 2 para la mayoría y 1 para la minoría), lo que daba a la oposición una mayor representación. Menem, a cambio, podría presentarse a la reelección.<ref name=todoindex/><ref>[http://www.todo-argentina.net/historia/democracia/menem1/1993.html Todo Argentina: 1993]</ref> El llamado [[Pacto de Olivos]] garantizaba también que Menem no se presentaría a un tercer mandato, pues al momento de realizarse la reforma, se reconoció al primer mandato de Menem como primer período constitucional, y se decidió extender el segundo mandato hasta el 10 de diciembre de 1999.
Los dos hombres se enfrentaron a disensiones dentro de las filas de sus respectivos partidos después del anuncio de la [[Reforma de la Constitucion Argentina de 1994|reforma constitucional de 1994]]. El candidato de Alfonsín en las primarias de la UCR, el gobernador de la [[provincia de Río Negro]] [[Horacio Massaccesi]], derrotó a [[Federico Storani]] y a [[Rodolfo Terragno]] en gran parte por su oposición al Pacto de Olivos. Menem, a su vez, había perdido el apoyo de varios diputados y senadores luego de que [[Carlos Álvarez (político)|Carlos ''Chacho'' Álvarez]] separara del PJ a un grupo de [[Izquierda (política)|izquierda]] y [[Centroizquierda política|centroizquierda]] en rebelión por las privatizaciones de Menem y los escándalos de corrupción que azotaban su gobierno. Su partido [[Frente Grande]] había adquirido popularidad tras aliarse con el ex Peronista [[José Octavio Bordón]], creando el [[Frente País Solidario]] (FREPASO), que agregaba también a los [[Partido Socialista (Argentina)|socialistas]].<ref name=todo94>[http://www.todo-argentina.net/historia/democracia/menem1/1994.html Todo Argentina: 1994]</ref>
== Reglas electorales ==
Las reglas electorales fundamentales que rigieron la elección presidencial fueron establecidas en la [[Reforma constitucional argentina de 1994|reforma constitucional de 1994]], realizada el año anterior sobre la base de un [[Pacto de Olivos|acuerdo entre los dos partidos mayoritarios]].
Las principales reglas electorales para la elección presidencial fueron:
* Sufragio directo (antes era indirecto)
* Debían elegirse juntos el presidente y vicepresidente (antes el Colegio electoral tenía amplias facultades para elegir quienes serían presidente y vicepresidente)
* [[Segunda vuelta electoral]] en caso de que el ganador de la primera vuelta no alcanzara el 45% de los votos, o que superando el 40% de los votos, tuviera una diferencia con el segundo menor a 10 puntos porcentuales. Antes la elección se hacía en una sola vuelta y el presidente debía elegirse por mayoría absoluta del [[Colegio electoral]].
* Mandato presidencial de cuatro años, con posibilidad de una sola reelección inmediata. La Reforma de 1994 acortó el mandato presidencial (antes era seis años) y dispuso que el mandato 1989-1995 contaba como primer período.
Excepcionalmente, para esta sola oportunidad, la Reforma constitucional de 1994 (cláusula transitoria décima) estableció que el mandato presidencial 1995-1999, duraría más de cuatro años, comenzando el 8 de julio y finalizando el 10 de diciembre. La razón de esta excepción fue corregir el desarreglo que había producido la renuncia del presidente Alfonsín en 1989, obligando al presidente Menem a iniciar su mandato cinco meses y dos días antes, causando así un desfasaje entre el inicio de los períodos presidenciales (8 de julio) y los períodos legislativos (10 de diciembre).
== Candidaturas ==
=== Partido Justicialista ===
{| class="wikitable" style="font-size:90%; text-align:center;" width=25%
|-
| colspan="2" style="font-size:200%; background:white;" width="200%" |[[Archivo:Escudo de la Provincia de Presidente Perón -sin silueta-.svg|60px|centro|link=Partido Justicialista]]
|-
! style="font-size:135%; background:{{Color político|Partido Justicialista}};" width=50%| [[Carlos Menem|{{color|white|Carlos Menem}}]]
! style="font-size:135%; background:{{Color político|Partido Justicialista}};" width=50%| [[Carlos Ruckauf|{{color|white|Carlos Ruckauf}}]]
|- style="color:#000; font-size:100%;"
| bgcolor=#A7D3F3|'''''para presidente'''''
| bgcolor=#A7D3F3|'''''para vicepresidente'''''
|-
| {{Recortar imagen|Imagen = Menem con banda presidencial.jpg|bSize = 450|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 115|Location = center}}
| {{Recortar imagen|Imagen = Carlos Ruckauf.png|bSize = 350|cWidth = 200|cHeight = 300|oTop = 15|oLeft = 65|Location = center}}
|-
|[[Presidente de la Nación Argentina]]<br /><small>(1989-1995)</small>
|[[Anexo:Ministros del Interior de Argentina|Ministro del Interior]]<br /><small>(1993-1995)</small>
|-style="vertical-align: top;"
| colspan=2|<center>'''Candidatura apoyada por:'''</center>
{{Columnas}}
* [[Partido Justicialista]]
* [[Unión del Centro Democrático]]
* [[Partido Federal (1973)|Partido Federal]] <small>(Nacional)</small>
* [[Partido Renovador de Salta]]
* [[Acción Chaqueña]]
* [[Partido Bloquista]]
* [[Movimiento Popular Jujeño]]
* Movimiento por la Autonomía Política Jujeña
* Movimiento Popular Chubutense
* Frente de los Jubilados
* Frente Recuperación Ética:
** [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]]
** Movimiento Línea Popular
{{Nueva columna}}
* Frente Justicialista <small>(Catamarca)</small><ref group="nota">[[Partido Justicialista]], [[Unión del Centro Democrático]], [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]], [[Partido Nacionalista Constitucional]], Celeste y Blanco, Partido Demócrata de Catamarca, Movimiento Autonomista Popular.</ref>
* Frente Justicialista <small>(Entre Ríos)</small><ref group="nota">[[Partido Justicialista]], [[Unión del Centro Democrático]].</ref>
* Frente Justicialista <small>(Santiago del Estero)</small><ref group="nota">[[Partido Justicialista]], [[Partido Blanco de los Jubilados]], [[Corriente Renovadora]], Partido Tres Banderas.</ref>
* Frente Justicialista Popular <small>(Jujuy)</small><ref group="nota">[[Partido Justicialista]], [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]], Movimiento de Unidad Renovador, Tercera Época.</ref>
* Frente Justicialista Popular <small>(Misiones)</small><ref group="nota">[[Partido Justicialista]], [[Unión del Centro Democrático]], [[Partido Federal (1973)|Partido Federal]], [[Partido Nacionalista Constitucional UNIR]], Frente de los Jubilados, Movimiento Patriótico de Liberación, Partido Social Republicano.</ref>
* Frente Justicialista Popular <small>(San Juan)</small><ref group="nota">[[Partido Justicialista]], [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]], Acción Solidaria, Partido Social Republicano, Movimiento Patriótico de Liberación.</ref>
* Frente para el Cambio <small>(Río Negro)</small><ref group="nota">[[Partido Justicialista]], [[Partido Demócrata Progresista]], [[Movimiento Patagónico Popular]].</ref>
* Frente Justicialista para la Victoria <small>(Salta)</small><ref group="nota">[[Partido Justicialista]], [[Partido Federal (1973)|Partido Federal]].</ref>
* Frente de la Esperanza <small>(Tucumán)</small><ref group="nota">[[Partido Justicialista]], Cambio Democrático de Tucumán, Movimiento Popular Tucumano, Surgimiento Innovador.</ref>
{{Final columnas}}
|}
Tras la [[Reforma constitucional argentina de 1994|reforma constitucional]], que habilitaba la reelección presidencial por un segundo período consecutivo, el propio [[Carlos Menem]] podía optar por un segundo mandato. Finalizado el [[Pacto de Olivos]] y al igual que [[Raúl Alfonsín|Alfonsín]], Menem debió enfrentar una fuerte disensión dentro del [[Partido Justicialista]] entre los que estaban de acuerdo con que Menem fuera nuevamente su candidato presidencial y los que no. Antes de la reforma, el gobierno de Menem ya enfrentaba un fuerte descontento en el seno del justicialismo por sus [[Liberalismo económico|políticas económicas liberales]] y su notorio alejamiento de la doctrina [[Peronismo|peronista]], sobre todo de parte del sector de [[Izquierda política|izquierda]] y [[Centroizquierda política|centroizquierda]] del partido.<ref name=todo94/> Sin embargo, debido a que la mayoría de su oposición interna abandonó el PJ para fundar el [[Frente País Solidario]] o presentar listas legislativas separadas, Menem no tuvo grandes problemas para obtener nuevamente la candidatura justicialista a la presidencia de la Nación. Su compañero de fórmula esta vez sería [[Carlos Ruckauf]], ya que [[Eduardo Duhalde]], el exvicepresidente, había abandonado el cargo en 1991 al ser [[Elecciones provinciales de Buenos Aires de 1991|elegido]] [[gobernador de la provincia de Buenos Aires]]. En dicha provincia, Duhalde logró también reformar la constitución, mediante un plebiscito, y fue habilitado para presentarse a la reelección.<ref name=todo94/>
=== Unión Cívica Radical ===
{{AP|Primarias presidenciales de la Unión Cívica Radical de 1994}}
{| class="wikitable" style="font-size:90%; text-align:center;" width=25%
| colspan="2" style="font-size:200%; background:white;" width="200%" |[[Archivo:Escudo de la UCR.svg|75px|centro|link=Unión Cívica Radical]]
|-
! style="font-size:135%; background:{{Color político|Unión Cívica Radical}};" width="50%" | [[Horacio Massaccesi|{{color|white|Horacio Massaccesi}}]]
! style="font-size:135%; background:{{Color político|Unión Cívica Radical}};" width="50%" | [[Antonio María Hernández|{{color|white|Antonio M. Hernández}}]]
|- style="color:#000; font-size:100%;"
| bgcolor="#ffb7b7" |'''''para presidente'''''
| bgcolor="#ffb7b7" |'''''para vicepresidente'''''
|-
| {{Recortar imagen|Imagen = Horacio Massaccesi 1995.png|bSize = 250|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 40|Location = center}}
| {{Recortar imagen|Imagen = Antonio_María_Hernández.png|bSize = 400|cWidth = 200|cHeight = 300|oTop = 10|oLeft = 123|Location = center}}
|-
|[[Anexo:Gobernadores de la provincia de Río Negro|Gobernador de Río Negro]]<br /><small>(1987-1995)</small>
|[[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br />por [[Provincia de Córdoba (Argentina)|Córdoba]]<br /><small>(1991-1995)</small>
|-style="vertical-align: top;"
| colspan=2|<center>'''Candidatura apoyada por:'''</center>
* [[Unión Cívica Radical]]
* [[Movimiento de Integración y Desarrollo]]
* [[Partido Federal (1973)|Partido Federal]] <small>(Córdoba)</small>
|}
El Pacto de Olivos tuvo un impacto muy negativo sobre la Unión Cívica Radical que en las elecciones de convencionales constituyentes obtuvo el menor porcentaje de su historia hasta entonces (19,9%), aún ganando en las cuatro provincias que gobernaba ([[Provincia de Córdoba (Argentina)|Córdoba]], [[Provincia del Chubut|Chubut]], [[Provincia de Río Negro|Río Negro]] y [[Provincia de Catamarca|Catamarca]]). La irrupción del [[Frente Grande]] representó un gran peligro para el [[bipartidismo]] en general y la UCR en particular.
En 1994 la UCR debió definir mediante una primaria interna quién sería el candidato presidencial para las elecciones de 1995. Participaron aproximadamente 750.000 afiliados.<ref>[https://www.pagina12.com.ar/1998/98-11/98-11-29/pag02.htm La interna abierta], [[Página/12]]</ref> En el marco de fuertes enfrentamientos que se referían a la discusión entre pactistas y antipactistas, [[Eduardo Angeloz]], que había ganado las anteriores primarias con más del 88% de los votos y había quedado en segundo lugar en las [[Elecciones presidenciales de Argentina de 1989|elecciones de 1989]], declinó su precandidatura presidencial. Finalmente, a fines de 1994, se impuso la fórmula integrada por el gobernador de Río Negro [[Horacio Massaccesi]] y el diputado cordobés y convencional constituyente [[Antonio María Hernández]], sostenidos por Alfonsín y Angeloz, relegando a la fórmula compuesta por [[Federico Storani]] y [[Rodolfo Terragno]], apoyados por [[Juan Manuel Casella]], [[Víctor Fayad]], [[Fernando de la Rúa]], [[Horacio Usandizaga]], y [[Sergio Montiel]].
La candidatura de Massaccesi fue apoyada a su vez por el Partido Federal de Córdoba, y el [[Movimiento de Integración y Desarrollo]], aunque a diferencia de otros competidores no suscribieron una alianza formal.<ref name=AndyTow/>
{{Resultados electorales
| título= Primaria presidencial de la Unión Cívica Radical (27 de noviembre de 1994)
| elección=
| vuelta=
| mostrar_imágenes= sí
| mostrar_nombres= sí
| título_nombres= Binomio
| título_partidos= Línea interna
| mostrar_escaños= no
| color1= #E10019
| imagen1=Horacio Massaccesi 1995.png
| nombre1= [[Horacio Massaccesi]]-Antonio María Hernández
| partido1= Línea Federal
| votos1= 340.118
| porcentaje1= 62.11
| color2= #E10019
| imagen2= Federico Storani - Diputados.jpg
| nombre2= [[Federico Storani]]-[[Rodolfo Terragno]]
| partido2= [[Corriente de Opinión Nacional]]
| votos2= 207.423
| porcentaje2= 37.89
| escaños2=
| escaños_totales=
| votos_válidos=
| porcentaje_votos_válidos=
| votos_nulos=
| porcentaje_votos_nulos=
| votos_en_blanco=
| porcentaje_votos_en_blanco=
| votos_emitidos= 547.541
| porcentaje_participación=
| abstención=
| porcentaje_abstención=
| inscritos=
| población=
| anotaciones=
| fuente=
}}
=== Frente País Solidario ===
{| class="wikitable" style="font-size:90%; text-align:center;" width=25%
|-
| colspan="2" style="font-size:200%; background:white;" width="200%" |[[Frente País Solidario|{{color|black|FREPASO}}]]
|-
! colspan="1" style="font-size:135%; background:#4F85C5;" width="50%" |[[Archivo:Política Abierta para la Integridad Social.png|90x90px|centro|link=Política Abierta para la Integridad Social]]
! colspan="1" style="font-size:135%; background:#ffffff;" width="50%" |[[Archivo:Frente grande logo circular.png|50px|link=Frente Grande]]
|-
! style="font-size:120%; background:#4F85C5;" width=50%| [[José Octavio Bordón|{{color|white|José Octavio Bordón}}]]
! style="font-size:120%; background:#D22C21;" width=50%| [[Carlos Álvarez (político)|{{color|white|Carlos Álvarez}}]]
|- style="color:#000; font-size:100%;"
| bgcolor=#E0B0FF|'''''para presidente'''''
| bgcolor=#E0B0FF|'''''para vicepresidente'''''
|-
| {{Recortar imagen|Imagen = José Octavio Bordón.png|bSize = 240|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 25|Location = center}}
| {{Recortar imagen|Imagen = Carlos Chacho Álvarez (cropped).jpg|bSize = 225|cWidth = 200|cHeight = 300|oTop = 0|oLeft = 15|Location = center}}
|-
|[[Anexo:Gobernadores de la provincia de Mendoza|Gobernador de Mendoza]]<br /><small>(1987-1991)</small>
|[[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br>por [[Capital Federal]]<br /><small>(1993-1999)</small>
|-
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* '''Movimiento de Izquierda'''
* '''Frente País Solidario:'''
** [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
** Democracia Popular para el Frente Social
** [[Frente Grande]]
** [[Partido Intransigente]]
** [[Política Abierta para la Integridad Social]]
** [[Partido Socialista Democrático (Argentina)|Partido Socialista Democrático]]
** [[Partido Socialista Popular (Argentina)|Partido Socialista Popular]]
* '''Cruzada Frente Grande:'''
** [[Cruzada Renovadora]]
** [[Frente Grande]]
** [[Partido Intransigente]]
** [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
* '''Frente PAIS:'''
** [[Política Abierta para la Integridad Social]]
** Frente de Liberación 12 de Mayo
|}
El Frente País Solidario, abreviado como FREPASO, se estableció en octubre de 1994 como una coalición entre los partidos [[Frente Grande]] y [[Política Abierta para la Integridad Social]] (PAIS).<ref>{{Cita noticia|apellidos=|nombre=|título=Bordón: "Duhalde tiene más poder que Menem"|url=http://www.lanacion.com.ar/70499-bordon-duhalde-tiene-mas-poder-que-menem|fecha=8 de junio de 1997|fechaacceso=24 de febrero de 2017|periódico=La Nación|página=}}</ref> Posteriormente adhirieron al pacto el [[Partido Intransigente]], y los dos herederos del dividido Partido Socialista (el [[Partido Socialista Popular (Argentina)|PSP]] y el [[Partido Socialista Democrático (Argentina)|PSD]]). El Frente Grande fue fundado por [[Carlos Álvarez (político)|Carlos Álvarez]] en 1993 como un desprendimiento del [[Partido Justicialista]], logrando atraer a los votantes descontentos con la reforma en las [[Elecciones de convencionales constituyentes de Argentina de 1994|elecciones de convencionales constituyentes de 1994]].
Aunque varios dirigentes de izquierda, como [[Pino Solanas|Fernando "Pino" Solanas]] se separaron del Frente Grande por su moderado programa económico, hacia 1995 el nuevo FREPASO había logrado atraer a varios radicales y peronistas inconformes con sus respectivos partidos, perfilándose como la primera amenaza seria al [[bipartidismo]] peronista-radical, imperante en el país desde [[Elecciones presidenciales de Argentina de 1946|1946]]. Pese a esta distinción, el FREPASO carecía de peso electoral fuera de los grandes centros urbanos ([[Gran Buenos Aires]], [[Rosario (Argentina)|Rosario]], [[Ciudad Autónoma de Buenos Aires|Capital Federal]], etc.) y no tenía una dirigencia organizada o integrada, lo que lo convertía en una fuerza electoral inestable.
A finales de 1994, al igual que la UCR, el FREPASO celebró una elección primaria abierta para decidir quien sería su candidato presidencial en 1995. La disputa se dio entre [[José Octavio Bordón]], líder de PAIS, y Álvarez. Dado que la interna fue abierta, el resultado no quedó demasiado claro, con Bordón imponiéndose por escaso margen ante Álvarez. La participación en la primaria fue de medio millón de votantes, siendo la tercera primaria de las realizadas ese año con mayor participación.<ref>[https://www.pagina12.com.ar/1998/98-11/98-11-01/pag16.htm Según los consultores, hay final abierto en la interna aliancista], [[Página/12]]</ref> Álvarez concurrió de todas formas a las elecciones como compañero de fórmula de Bordón, estando representados, de este modo, los dos mayores partidos de la coalición en la fórmula presidencial.
{{Resultados electorales
| título= Primaria presidencial del FREPASO de diciembre de 1994
| elección=
| vuelta=
| mostrar_imágenes= sí
| mostrar_nombres= sí
| título_nombres= Presidente
| título_partidos= Partido
| mostrar_escaños= no
| color1= ##4F85C5
| imagen1= José Octavio Bordón.png
| nombre1= [[Jos%C3%A9 Octavio Bord%C3%B3n|José Octavio Bordon]]
| partido1= [[Pol%C3%ADtica Abierta para la Integridad Social|PAIS]]
| votos1= Desconocido
| porcentaje1=
| color2= ##D22C21
| imagen2= Carlos Chacho Álvarez (cropped).jpg
| nombre2= [[Carlos %C3%81lvarez (pol%C3%ADtico)|Carlos Álvarez]]
| partido2= [[Frente Grande]]
| votos2= Desconocido
| porcentaje2=
| escaños2=
| escaños_totales=
| votos_válidos=
| porcentaje_votos_válidos=
| votos_nulos=
| porcentaje_votos_nulos=
| votos_en_blanco=
| porcentaje_votos_en_blanco=
| votos_emitidos= 500.000
| porcentaje_participación=
| abstención=
| porcentaje_abstención=
| inscritos=
| población=
| anotaciones=
| fuente=
}}
=== Otras candidaturas ===
{| class="wikitable" style="font-size:90%; text-align:center;" width="100%"
|-
| style="background:#FFFFFF;" colspan=2| [[Archivo:Logo_MODIN.png|125px|centro|link=Movimiento por la Dignidad y la Independencia]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:Alianza Sur 1995.png|125px]]
| style="background:#0059AC;" colspan=2| [[Archivo:Logo Fuerza Republicana.png|70px|link=Fuerza Republicana]]
| style="background:#E2001A;" colspan=2| [[Archivo:MST_LOGO.png|130px|link=Movimiento Socialista de los Trabajadores]]
| style="background:#F4022E;" colspan=2| [[Archivo:FUT-PO.png|150px]]
| style="background:{{Color político|Partido Socialista Auténtico (Argentina)}};" colspan=2| [[Archivo:Logo PSA.png|100px|link=Partido Socialista Auténtico (Argentina)]]
|- style="color:#000; font-size:100%"
! style="width:160px; font-size:120%; background:{{Color político|Movimiento por la Dignidad y la Independencia}};" width="50%" | [[Aldo Rico|{{color|black|Aldo Rico}}]]
! style="width:160px; font-size:120%; background:{{Color político|Movimiento por la Dignidad y la Independencia}};" width="50%" | [[Julio César Pezzano|{{color|black|Julio César Pezzano}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Comunista (Argentina)}};" width="50%" | [[Fernando Solanas|{{color|white|Fernando Solanas}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Comunista (Argentina)}};" width="50%" | {{color|white|Carlos Imizcoz}}
! style="width:160px; font-size:120%; background:#0059AC;" width="50%" | [[Fernando López de Zavalía|{{color|white|Fernando de Zavalía}}]]
! style="width:160px; font-size:120%; background:#0059AC;" width="50%" | {{color|white|Pedro Benejam}}
! style="width:160px; font-size:120%; background:#E2001A;" width="50%" | [[Luis Zamora|{{color|white|Luis Zamora}}]]
! style="width:160px; font-size:120%; background:#E2001A;" width="50%" | {{color|white|Silvia Susana Díaz}}
! style="width:160px; font-size:120%; background:#F4022E;" width="50%" | [[Jorge Altamira|{{color|#FDEF11|Jorge Altamira}}]]
! style="width:160px; font-size:120%; background:#F4022E;" width="50%" | {{color|#FDEF11|Norma Molle}}
! style="width:160px; font-size:120%; background:{{Color político|Partido Socialista Auténtico (Argentina)}};" width="50%" | [[Mario Mazzitelli|{{color|white|Mario Mazzitelli}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Socialista Auténtico (Argentina)}};" width="50%" | {{color|white|Alberto Fonseca}}
|- style="color:#000; font-size:100%"
| bgcolor=#FFF6AD|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFF6AD|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#5B84A9|'''''{{color|white|para presidente}}'''''
| bgcolor=#5B84A9|'''''{{color|white|para vicepresidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidenta}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidenta}}'''''
| bgcolor=#DC7B71|'''''{{color|white|para presidente}}'''''
| bgcolor=#DC7B71|'''''{{color|white|para vicepresidente}}'''''
|-
| {{Recortar imagen|Imagen = Aldo Rico (cropped).jpg|bSize = 300|cWidth = 155|cHeight = 155|oTop = 50|oLeft = 98|Location = center}}
|
| {{Recortar imagen|Imagen = 1985 Fernando Ezequiel "Pino" Solanas 03.jpg|bSize = 300|cWidth = 155|cHeight = 155|oTop = 150|oLeft = 50|Location = center}}
|
|
|
| {{Recortar imagen|Imagen = Luis Zamora - Diputados.jpg|bSize = 275|cWidth = 155|cHeight = 155|oTop = 35|oLeft = 60|Location = center}}
|
| [[Archivo:Jorge Altamira (cropped).jpg|155x155px]]
|
|
|
|-
| [[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br>por [[Capital Federal]]<br /><small>(1993-1997)</small>
| dirigente de jubilados
| [[Reforma constitucional argentina de 1994|Convencional constituyente]]<br />por [[Provincia de Buenos Aires|Buenos Aires]]<br /><small>(1994)</small>
|
| [[Cámara de Diputados de la Nación Argentina|Diputado nacional]]<br>por [[Buenos Aires]]<br /><small>(1989-1993)</small>
|
| periodista
|
| comerciante
|
|
|
|-style="vertical-align: top;"
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Movimiento por la Dignidad y la Independencia]]
* [[Fuerza Republicana]]
* [[Partido de la Independencia]]
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Partido Comunista (Argentina)|Partido Comunista]]
* [[Partido Comunista Revolucionario (Argentina)|Partido del Trabajo y del Pueblo]]
* Frente por la Democracia Avanzada
* Partido Socialista Obrero para la Liberación
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* Frente de Unidad Trabajadora
* [[Partido Obrero (Argentina)|Partido Obrero]]
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
|-
| style="background:#FFFFFF;" colspan=2| [[Archivo:Partido Humanista (corto).svg|75px|link=Partido Humanista (Argentina)]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:Mas_pts.png|175px]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:CORRIENTE.png|115px|link=Corriente Patria Libre]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:Movimiento Democrático Popular Antiimperialista 1995.png|100px]]
| style="background:#FFFFFF;" colspan=2| [[Archivo:FRECOPA.png|65px]]
|- style="color:#000; font-size:100%"
! style="width:160px; font-size:120%; background:{{Color político|Partido Humanista (Argentina)}};" width="50%" | [[Lía Méndez|{{color|black|Lía Méndez}}]]
! style="width:160px; font-size:120%; background:{{Color político|Partido Humanista (Argentina)}};" width="50%" | {{color|black|Liliana Ambrosio}}
! style="width:160px; font-size:120%; background:#FF0000;" width="50%" | {{color|white|Alcides Christiansen}}
! style="width:160px; font-size:120%; background:#FF0000;" width="50%" | {{color|white|José Montes}}
! style="width:160px; font-size:120%; background:#A7D3F3;" width="50%" | [[Humberto Tumini|{{color|black|Humberto Tumini}}]]
! style="width:160px; font-size:120%; background:#A7D3F3;" width="50%" | {{color|black|Jorge Emilio Reyna}}
! style="width:160px; font-size:120%; background:#555555;" width="50%" | {{color|white|Amílcar Santucho}}
! style="width:160px; font-size:120%; background:#555555;" width="50%" | {{color|white|Irma Antognazzi}}
! style="width:160px; font-size:120%; background:#B0B5BC;" width="50%" | {{color|black|Ricardo Alberto Paz}}
! style="width:160px; font-size:120%; background:#B0B5BC;" width="50%" | {{color|black|Adolfo González Chaves}}
|- style="color:#000; font-size:100%"
| bgcolor=#FFE1B7|'''''{{color|black|para presidenta}}'''''
| bgcolor=#FFE1B7|'''''{{color|black|para vicepresidenta}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para presidente}}'''''
| bgcolor=#FFB7B7|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#D3E4F0|'''''{{color|black|para presidente}}'''''
| bgcolor=#D3E4F0|'''''{{color|black|para vicepresidente}}'''''
| bgcolor=#969696|'''''{{color|white|para presidente}}'''''
| bgcolor=#969696|'''''{{color|white|para vicepresidenta}}'''''
| bgcolor=#D6D6D6|'''''{{color|black|para presidente}}'''''
| bgcolor=#D6D6D6|'''''{{color|black|para vicepresidente}}'''''
|-
| [[Archivo:Lía Méndez - Legislatura Porteña.png|155x155px]]
|
|
|
| {{Recortar imagen|Imagen = Humberto Tumini lanzó su pre-candidatura a Presidente.png|bSize = 250|cWidth = 155|cHeight = 155|oTop = 0|oLeft = 35|Location = center}}
|
|
|
|
|
|-
| abogada
|
|
| dirigente gremial
| exguerrillero
| exguerrillero
|
|
|
|
|-style="vertical-align: top;"
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Movimiento al Socialismo (1982)|Movimiento al Socialismo]]
* [[Partido de los Trabajadores Socialistas]]
| colspan=2 style="background:#ececec; vertical-align:middle"| ''Partido sin alianza''
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* Movimiento Democrático Popular Antiimperialista
* Solidaridad
| colspan=2|<center>'''Partidos que integraban la alianza:'''</center>
* [[Partido Nacionalista Constitucional]]
* [[Partido Demócrata de Buenos Aires|Partido Demócrata Conservador]]
* Movimiento Popular Bonaerense
* [[Defensa Provincial - Bandera Blanca]]
* Federación Socialista Auténtico
|}
== Acceso a boletas ==
En estas elecciones los candidatos podían aparecer en más de una boleta, por ejemplo en la [[Provincia de Córdoba (Argentina)|Provincia de Córdoba]] Menem y Ruckauf fueron candidatos del [[Partido Justicialista|PJ]] y de la [[Unión del Centro Democrático|UCEDE]]; y podían no estar en todas las provincias, por ejemplo López de Zavalía y Benejam fueron candidatos sólo en la [[Provincia de Tucumán]].
{| class="wikitable" style="text-align: center; font-size: 95%;"
! rowspan=2|Provincia
! [[Carlos Menem|Menem]]/<br>[[Carlos Ruckauf|Ruckauf]]
! [[José Octavio Bordón|Bordón]]/<br>[[Carlos Álvarez (político)|Álvarez]]
! [[Horacio Massaccesi|Massaccesi]]/<br>[[Antonio María Hernández|Hernández]]
! [[Aldo Rico|Rico]]/<br>F. Pezzano
! [[Fernando Solanas|Solanas]]/<br>Imizcoz
! [[Fernando López de Zavalía|L. de Zavalía]]/<br>Benejam
! [[Luis Zamora|Zamora]]/<br>Díaz
|-
! <small>24 provincias</small>
! <small>24 provincias</small>
! <small>24 provincias</small>
! <small>24 provincias</small>
! <small>22 provincias</small>
! <small>1 provincia</small>
! <small>24 provincias</small>
|-
! style="text-align:left;"|[[Provincia de Buenos Aires|Buenos Aires]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Capital Federal]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*[[Partido Federal (1973)|PF]]
*Frente Recuperación Ética
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Catamarca|Catamarca]]
|
*Frente Justicialista
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia del Chaco|Chaco]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*[[Acción Chaqueña]]
|
*[[Frente País Solidario|FREPASO]]
*Movimiento de Izquierda
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia del Chubut|Chubut]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*Movimiento Popular Chubutense
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Córdoba (Argentina)|Córdoba]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
*[[Movimiento de Integración y Desarrollo|MID]]
*[[Partido Federal (1973)|PF]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Corrientes|Corrientes]]
|
*Frente Justicialista
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
*[[Frente Grande]]
|
*{{nowrap|[[Unión Cívica Radical|UCR]] - [[Movimiento de Integración y Desarrollo|MID]]}}
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Entre Ríos|Entre Ríos]]
|
*Frente Justicialista
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Formosa|Formosa]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Jujuy|Jujuy]]
|
*Frente Justicialista Popular
*[[Unión del Centro Democrático|UCEDE]]
*[[Movimiento Popular Jujeño]]
*Movimiento por la Autonomía Política Jujeña
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Fuerza Republicana]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de La Pampa|La Pampa]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de La Rioja (Argentina)|La Rioja]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Mendoza|Mendoza]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Misiones|Misiones]]
|
*Frente Justicialista Popular
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Neuquén|Neuquén]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Río Negro|Río Negro]]
|
*Frente para el Cambio
|
*[[Frente País Solidario|FREPASO]]
|
*[[Alianza por la Patagonia]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Salta|Salta]]
|
*Frente Justicialista para la Victoria
*[[Unión del Centro Democrático|UCEDE]]
*[[Partido Renovador de Salta]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de San Juan|San Juan]]
|
*Frente Justicialista Popular
*[[Partido Bloquista]]
|
*Cruzada Frente Grande
*Frente PAIS
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de San Luis|San Luis]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Santa Cruz (Argentina)|Santa Cruz]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
| —
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Santa Fe|Santa Fe]]
|
*[[Partido Justicialista|PJ]]
*[[Unión del Centro Democrático|UCEDE]]
*Frente de los Jubilados
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Santiago del Estero|Santiago del Estero]]
|
*Frente Justicialista
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
*[[Movimiento de Integración y Desarrollo|MID]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
|
*Alianza Sur
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]]
|
*[[Partido Justicialista|PJ]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*[[Movimiento por la Dignidad y la Independencia|MODIN]]
| —
| —
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
! style="text-align:left;"|[[Provincia de Tucumán|Tucumán]]
|
*Frente de la Esperanza
*[[Unión del Centro Democrático|UCEDE]]
|
*[[Frente País Solidario|FREPASO]]
|
*[[Unión Cívica Radical|UCR]]
|
*Partido de la Independencia
|
*Alianza Sur
|
*[[Fuerza Republicana]]
|
*[[Movimiento Socialista de los Trabajadores|MST]]
|-
| colspan=8 bgcolor=grey|
|-
! rowspan=2|Provincia
! [[Jorge Altamira|Altamira]]/<br>Molle
! [[Mario Mazzitelli|Mazzitelli]]/<br>Fonseca
! [[Lía Méndez|Méndez]]/<br>Ambrosio
! Christiansen/<br>Montes
! [[Humberto Tumini|Tumini]]/<br>Reyna
! Santucho/<br>Antognazzi
! Paz<ref name="ongania" group="nota"/>/<br>G. Chávez
|-
! <small>24 provincias</small>
! <small>3 provincias</small>
! <small>24 provincias</small>
! <small>22 provincias</small>
! <small>22 provincias</small>
! <small>10 provincias</small>
! <small>9 provincias</small>
|-
! style="text-align:left;"|[[Provincia de Buenos Aires|Buenos Aires]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
|
*[[Partido Socialista Auténtico (Argentina)|PSA]]
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
|
*FRECOPA
|-
! style="text-align:left;"|[[Capital Federal]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
|
*[[Partido Socialista Auténtico (Argentina)|PSA]]
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Catamarca|Catamarca]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia del Chaco|Chaco]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia del Chubut|Chubut]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Córdoba (Argentina)|Córdoba]]
|
*[[Partido Obrero (Argentina)|Partido Obrero]]
|
*[[Partido Socialista Auténtico (Argentina)|PSA]]
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
*Solidaridad
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Corrientes|Corrientes]]
|
*[[Partido Obrero (Argentina)|Partido Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Entre Ríos|Entre Ríos]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Formosa|Formosa]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
| —
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de Jujuy|Jujuy]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de La Pampa|La Pampa]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de La Rioja (Argentina)|La Rioja]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
| —
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de Mendoza|Mendoza]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Misiones|Misiones]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Neuquén|Neuquén]]
|
*[[Partido Obrero (Argentina)|Partido Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Río Negro|Río Negro]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Salta|Salta]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de San Juan|San Juan]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de San Luis|San Luis]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|-
! style="text-align:left;"|[[Provincia de Santa Cruz (Argentina)|Santa Cruz]]
|
*Frente Unidad Trabajadora
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
| —
| —
|
*FRECOPA
|-
! style="text-align:left;"|[[Provincia de Santa Fe|Santa Fe]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Santiago del Estero|Santiago del Estero]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
|
*MODEPA
| —
|-
! style="text-align:left;"|[[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
| —
| —
| —
|-
! style="text-align:left;"|[[Provincia de Tucumán|Tucumán]]
|
*Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| —
|
*[[Partido Humanista (Argentina)|PH]]
|
*[[Movimiento al Socialismo (1982)|MAS]] - [[Partido de los Trabajadores Socialistas|PTS]]
|
*[[Corriente Patria Libre|Patria Libre]]
| —
| —
|}
=== Boletas en Capital Federal ===
<gallery mode="packed" heights="169px">
Boleta elecciones argentinas de 1995 - Partido Justicialista.jpg|Partido Justicialista
Boleta elecciones argentinas de 1995 - UCEDE.jpg|Unión del Centro Democrático
Boleta elecciones argentinas de 1995 - Federal.jpg|Partido Federal
Boleta elecciones argentinas de 1995 - Frente Recuperacion Etica.jpg|Frente Recuperación Ética
Boleta elecciones argentinas de 1995 - FREPASO.jpg|Frente País Solidario
Boleta elecciones argentinas de 1995 - UCR.jpg|Unión Cívica Radical
Boleta elecciones argentinas de 1995 - MODIN.jpg|Movimiento por la Dignidad y la Independencia
Boleta elecciones argentinas de 1995 - SUR.jpg|Alianza Sur
Boleta elecciones argentinas de 1995 - MST.jpg|Movimiento Socialista de los Trabajadores
Boleta elecciones argentinas de 1995 - Obrero.jpg|Frente Unidad Trabajadora - Obrero
Boleta elecciones argentinas de 1995 - Socialista Autentico.jpg|Partido Socialista Auténtico
Boleta elecciones argentinas de 1995 - Humanista.jpg|Partido Humanista
Boleta elecciones argentinas de 1995 - MAS PTS.jpg|Movimiento al Socialismo - Partido de los Trabajadores Socialistas
Boleta elecciones argentinas de 1995 - Patria Libre.jpg|Corriente Patria Libre
Boleta elecciones argentinas de 1995 - MODEPA.jpg|Movimiento Democrático Popular Antiimperialista
Boleta elecciones argentinas de 1995 - FRECOPA.jpg|Frente para la Coincidencia Patriótica
</gallery>
== Campaña ==
La nueva constitución daba diversas oportunidades a los partidos que quedaran segundo o tercero (lugar que era ampliamente disputado entre el FREPASO y la UCR), respectivamente. Se había abolido definitivamente el antiguo sistema de [[Colegio Electoral]] utilizado hasta 1989, por lo que podía lograrse la victoria por voto directo, además de que existía la posibilidad de una [[segunda vuelta electoral]] si un candidato obtenía menos del 45% de los votos. Los justicialistas gozaban de una clara ventaja, dadas las encuestas y su control de ambas cámaras del Congreso; pero las grietas comenzaron a desarrollarse al culminar el año 1994. La prosperidad local, garante de la presunta victoria de Menem, fue sacudida por la [[Crisis económica de México de 1994|crisis del peso mexicano]] en [[diciembre]]. Al depender de la inversión extranjera para mantener sus reservas en el Banco Central, que perdió más de seis millones de dólares estadounidenses en días, su repentina escasez llevó a una oleada de fuga de capitales de los bancos en crecimiento de [[Buenos Aires]] y a una recesión imprevista. Las revelaciones simultáneas de la corrupción brutal que rodea la compra de computadoras de [[IBM]] para el anticuado Banco Nacional de la República Argentina (el más grande del país), dio a la oposición la esperanza de que podría llegarse a un balotaje en [[mayo]].<ref name=todo94/>
Entre la oposición, el FREPASO tenía ventaja en las encuestas para quedar segundo detrás del PJ. Con un liderazgo carismático, esperaban desplazar a la UCR (el partido más antiguo de la Argentina) de su papel de principal oposición a los peronistas. La UCR había salido muy perjudicada por el caótico mandato de [[Raúl Alfonsín]] (1983-1989) y su papel de oposición al justicialismo fue puesto en duda por el [[Pacto de Olivos]] y la reforma constitucional que habilitó la reelección de Menem, aunque su candidato, [[Horacio Massaccesi]], había obtenido fama internacional por incautar los fondos del Tesoro de la sucursal regional del Banco Central para pagar los sueldos atrasados de los jubilados y la administración pública, lo que le había valido una reelección en su cargo de gobernador de Río Negro con el 46% de los votos.<ref>[http://www.clarin.com/diario/1997/08/10/i-00903e.htm ''Clarín'']</ref> La UCR, por otra parte, conservaba el renombre político y su antigüedad, más allá de la maquinaria desgastada por el liderazgo de Alfonsín y el popular [[Gobernadores de la Provincia de Córdoba|gobernador de Córdoba]], [[Eduardo Angeloz]]. A medida que se acercaba el día de las elecciones, los analistas no solo debatían la posibilidad de un balotaje, sino también que ambas fuerzas opositoras (FREPASO y UCR) tenían posibilidades de pasar al mismo junto a Menem.<ref>''La Nación.'' May 13, 1995.</ref>
Durante la campaña, Menem defendió su programa de gobierno, señalando el éxito económico logrado por la Argentina durante su mandato, y haciendo hincapié en la [[Hiperinflación argentina de 1989 y 1990|hiperinflación]] provocada por el radicalismo antes de su llegada al poder, afirmando, como lema de campaña: "Soy yo o el caos", postura que fue criticada duramente por otros candidatos.<ref name="elpais">[https://elpais.com/diario/1995/05/15/internacional/800488816_850215.html El desgaste político no hizo mella en el electorado], ''[[El País]]'', 15 de mayo de 1995</ref><ref name="IPU">[http://archive.ipu.org/parline-e/reports/arc/2011_95.htm IPU Elections in 1995] {{en}}</ref> Bordón, por otro lado, acusó a Menem de desvirtuarse de los principios justicialistas. Su campaña se centró en el tema de la corrupción en los círculos gobernantes y la repercusión social (especialmente el desempleo) de las reformas económicas del gobierno menemista, particularmente en las clases bajas de Argentina.<ref name="IPU"/>
Por otro lado, la campaña de Massaccesi fue vista como "desorientada". Mientras que el FREPASO criticaba los negativos efectos sociales de las políticas de Menem, la UCR se limitaba a resaltar fallos técnicos y a destacar la corrupción, evidenciando la severa crisis que atravesaba el radicalismo.<ref name="IPU"/> El triunfo de Massaccesi en la primaria radical se había debido en gran medida a la abstención de Angeloz, y a la intención de amplios sectores de la UCR que querían impedir que [[Federico Storani]] llegara a la conducción del partido y buscara una alianza con el FREPASO (posición que irónicamente buscaría el partido luego de la estrepitosa derrota).<ref>[https://www.pagina12.com.ar/1998/98-11/98-11-29/pag02.htm El día en que la Alianza se prueba la banda], ''Página/12'', 29 de noviembre de 1998</ref> Sin embargo, Massaccesi era en realidad profundamente impopular entre el electorado radical y gran parte de la conducción partidaria, y su relativa cercanía con el gobierno menemista durante su período como gobernador le habían valido el apodo despectivo de "Menem rubio".<ref>[http://www.diariopublicable.com/aniversario/774-1995-aqui-me-quedo.html 1995 | Aquí me quedo] {{Wayback|url=http://www.diariopublicable.com/aniversario/774-1995-aqui-me-quedo.html |date=20181112021754 }}, ''Publicable'', 21 de diciembre de 2012</ref>
El antiguo líder de los [[Carapintadas]], [[Aldo Rico]], se presentó como candidato del [[Movimiento por la Dignidad y la Independencia]] (Modin), y proponía la renegociación de la cuantiosa deuda externa, el fin de la convertibilidad, que establece la paridad entre el dólar y el peso, y la creación de una confederación de Estados latinoamericanos.<ref name="elpais"/>
En el último período previo a las elecciones, las encuestas daban la victoria a Menem, prediciendo que si bien quizás no superase el 45% de los votos, accedería a un segundo mandato en primera vuelta debido a que Bordón y Massaccesi se contrapesarían mutuamente y ninguno de los dos lograría obtener el suficiente porcentaje para acceder a un balotaje. A pesar de que varios sondeos predecían la ruptura del bipartidismo desde un mes antes de la elección, Massaccesi declaró no confiar en las encuestas, calificándolas de "maniobra sucia".<ref>[https://www.youtube.com/watch?v=AtM7Bsj5XeI DiFilm, entrevista Massaccesi]</ref>
== Resultados ==
La jornada electora fue considerada tranquila, y fue celebrada por ser la primera ocasión desde las [[Elecciones presidenciales de Argentina de 1928|elecciones de 1928]] en que un período democrático llegaba a su tercera elección presidencial.<ref name=elpais2>[https://elpais.com/diario/1995/05/15/internacional/800488817_850215.html Menem, reelegido presidente, según los sondeos], El País, 15 de mayo de 1995</ref> Después de emitir su voto en La Rioja, se le preguntó a Menem si estaba tranquilo, a lo que él respondió "¿Por qué iba a estar intranquilo?".<ref name=elpais2/>
En última instancia, la corrupción y la súbita recesión no fueron suficientes para evitar que Menem obtuviera una rotunda victoria en primera vuelta con casi el 50% de los votos. El PJ se alió con varios partidos regionales y con la derechista [[Unión del Centro Democrático]], formando un frente electoral que obtuvo casi la mitad del voto total. La división de la oposición en dos bloques contrapuestos impidió que alguno de los dos candidatos opositores obtuviera el suficiente porcentaje para que Menem no pudiera evitar un balotaje. El FREPASO obtuvo cerca del 30% de los votos, y la UCR menos del 17%, siendo la primera vez que el partido más antiguo no quedaba en primer o segundo lugar. Menem triunfó en todas las provincias, excepto en la [[Ciudad de Buenos Aires]], donde Bordón obtuvo el 44.53% de los votos, superando por casi tres puntos al candidato justicialista.
A pesar de la ruptura del [[bipartidismo]] en el plano presidencial, en las [[Elecciones legislativas de Argentina de 1995|elecciones legislativas]] la UCR mantuvo el segundo lugar tanto en número de votos como en diputados.<ref>[http://www.todo-argentina.net/historia/democracia/menem1/1995.html Todo Argentina: 1995]</ref> Esto se debió a la presencia parlamentaria previa de la UCR, y al hecho de que el FREPASO carecía de peso electoral fuera de los grandes centros urbanos ([[Ciudad de Buenos Aires|Capital Federal]], el [[Gran Buenos Aires]], [[Rosario (Argentina)|Rosario]], etc). El nuevo Senado, tal y como habían predicho Alfonsín y Menem, benefició a los dos partidos.<ref name=micro/>
En las elecciones provinciales, la UCR fue el único frente opositor nacional que obtuvo gobernaciones, con cinco gobernadores radicales contra quince justicialistas. En las tres provincias restantes, [[Tucumán]], [[Provincia de Neuquén|Neuquén]] y [[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]], fueron elegidos gobernadores por partidos provinciales ([[Fuerza Republicana]], [[Movimiento Popular Neuquino]] y [[Movimiento Popular Fueguino]] respectivamente). A nivel municipal, solo dos de las ciudades más importantes de Argentina, [[Bahía Blanca]] y [[Mar del Plata]], mantenían intendentes de la UCR, aunque en 1996, el candidato radical [[Fernando de la Rúa]] se convertiría en el primer Jefe de Gobierno [[Elecciones en la Ciudad Autónoma de Buenos Aires de 1996|electo]] de la [[Ciudad de Buenos Aires]].<ref name=micro>[http://www.fcen.uba.ar/prensa/micro/1995/ms195a.htm Microsemanario 195}]</ref>
[[File:Resultados de las Elecciones presidenciales de Argentina de 1995 (por departamento).svg|thumb|right|300px|Resultados por departamento:
{{leyenda|{{Color político|Partido Justicialista}}|[[Carlos Menem|Menem]]/[[Carlos Ruckauf|Ruckauf]]}}
{{leyenda|{{Color político|Frente País Solidario}}|[[José Octavio Bordón|Bordón]]/[[Carlos Álvarez (político)|Álvarez]]}}
{{leyenda|{{Color político|Unión Cívica Radical}}|[[Horacio Massaccesi|Massaccesi]]/[[Antonio María Hernández|Hernández]]}}
{{leyenda|#CCCCCC|[[Departamento Islas del Atlántico Sur|No votó]]}}]]
{| class="wikitable" style="text-align:right;"
|-
!colspan=2|Fórmula
!rowspan=2 colspan=3|Partido o alianza
!rowspan=2|Votos
!rowspan=2|%
|-
!Presidente
!Vicepresidente
|-
| align=left rowspan=17 bgcolor=#cfc|'''[[Carlos Menem]]'''
| align=left rowspan=17 bgcolor=#cfc|'''[[Carlos Ruckauf]]'''
| style="background-color:lightblue;border-bottom-style:hidden;" rowspan=16|
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|[[Partido Justicialista]]
| 6.300.057
| 36,22
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente Justicialista
| 691.481
| 3,98
|-
| bgcolor={{Color político|Unión del Centro Democrático}}|
| align=left|[[Unión del Centro Democrático]]
| 456.594
| 2,62
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|[[Frente Justicialista Popular]]
| 382.447
| 2,20
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente de la Esperanza
| 215.531
| 1,24
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente Justicialista para la Victoria
| 129.290
| 0,74
|-
| bgcolor={{Color político|Otro}}|
| align=left|Frente Recuperación Ética
| 103.014
| 0,59
|-
| bgcolor={{Color político|Partido Justicialista}}|
| align=left|Frente para el Cambio
| 99.230
| 0,57
|-
| bgcolor={{Color político|Otro}}|
| align=left|Frente de los Jubilados
| 74.561
| 0,43
|-
| bgcolor={{Color político|Partido Renovador de Salta}}|
| align=left|[[Partido Renovador de Salta]]
| 73.202
| 0,42
|-
| bgcolor={{Color político|Acción Chaqueña}}|
| align=left|[[Acción Chaqueña]]
| 49.821
| 0,29
|-
| bgcolor={{Color político|Partido Federal (1973)}}|
| align=left|[[Partido Federal (1973)|Partido Federal (Capital Federal)]]
| 48.287
| 0,28
|-
| bgcolor={{Color político|Partido Bloquista de San Juan}}|
| align=left|[[Partido Bloquista]]
| 32.841
| 0,19
|-
| bgcolor={{Color político|Movimiento Popular Jujeño}}|
| align=left|[[Movimiento Popular Jujeño]]
| 22.386
| 0,13
|-
| bgcolor={{Color político|Otro}}|
| align=left|Movimiento por la Autonomía Política Jujeña
| 4.935
| 0,03
|-
| bgcolor={{Color político|Otro}}|
| align=left|Movimiento Popular Chubutense
| 3.642
| 0,02
|- bgcolor=lightblue
| colspan=3 align=left| Total Menem - Ruckauf
| 8.687.511
| 49,94
|-
| align=left rowspan=6|[[José Octavio Bordón]]
| align=left rowspan=6|[[Carlos Álvarez (político)|Carlos Álvarez]]
| style="background-color:Plum;border-bottom-style:hidden;" rowspan=5|
| bgcolor={{Color político|Frente País Solidario}}|
| align=left|[[Frente País Solidario]]
| 4.934.989
| 28,37
|-
| bgcolor={{Color político|Cruzada Renovadora}}|
| align=left|Cruzada Frente Grande
| 57.311
| 0,33
|-
| bgcolor={{Color político|Frente Grande}}|
| align=left|[[Frente Grande]]
| 54.008
| 0,31
|-
| bgcolor={{Color político|Política Abierta para la Integridad Social}}|
| align=left|Frente PAIS
| 28.382
| 0,16
|-
| bgcolor={{Color político|Otro}}|
| align=left|Movimiento de Izquierda
| 21.414
| 0,12
|- bgcolor=Plum
| colspan=3 align=left| Total Bordón - Álvarez
| 5.096.104
| 29,30
|-
| align=left rowspan=6|[[Horacio Massaccesi]]
| align=left rowspan=6|[[Antonio María Hernández]]
| style="background-color:pink;border-bottom-style:hidden;" rowspan=5|
| bgcolor={{Color político|Unión Cívica Radical}}|
| align=left|[[Unión Cívica Radical]]
| 2.773.037
| 15,94
|-
| bgcolor={{Color político|Unión Cívica Radical}}|
| align=left|[[Alianza por la Patagonia]]
| 84.172
| 0,48
|-
| bgcolor={{Color político|Unión Cívica Radical}}|
| align=left|[[Unión Cívica Radical]] - [[Movimiento de Integración y Desarrollo]]
| 57.082
| 0,33
|-
| bgcolor={{Color político|Movimiento de Integración y Desarrollo}}|
| align=left|[[Movimiento de Integración y Desarrollo]]
| 30.588
| 0,18
|-
| bgcolor={{Color político|Partido Federal (1973)}}|
| align=left|[[Partido Federal (1973)|Partido Federal (Córdoba)]]
| 11.258
| 0,06
|- bgcolor=pink
| colspan=3 align=left| Total Massaccesi - Hernández
| 2.956.137
| 16,99
|-
| align=left rowspan=4|[[Aldo Rico]]
| align=left rowspan=4|Julio César Fernández Pezzano
| style="background-color:khaki;border-bottom-style:hidden;" rowspan=3|
| bgcolor={{Color político|Movimiento por la Dignidad y la Independencia}}|
| align=left|[[Movimiento por la Dignidad y la Independencia]]
| 291.306
| 1,67
|-
| bgcolor={{Color político|Fuerza Republicana}}|
| align=left|[[Fuerza Republicana|Fuerza Republicana (Jujuy)]]
| 15.602
| 0,09
|-
| bgcolor={{Color político|Otro}}|
| align=left|Partido de la Independencia
| 3.161
| 0,02
|- bgcolor=khaki
| colspan=3 align=left| Total Rico - Fernández Pezzano
| 310.069
| 1,78
|-
| align=left|[[Fernando Solanas]]
| align=left|Carlos Imizcoz
| bgcolor=#389B00|
| align=left colspan=2|Alianza Sur
| 71.625
| 0,41
|-
| align=left|[[Fernando López de Zavalía]]
| align=left|Pedro Benejam
| bgcolor={{Color político|Fuerza Republicana}}|
| align=left colspan=2|[[Fuerza Republicana|Fuerza Republicana (Tucumán)]]
| 64.007
| 0,37
|-
| align=left|[[Luis Zamora]]
| align=left|Silvia Susana Díaz
| bgcolor={{Color político|Movimiento Socialista de los Trabajadores}}|
| align=left colspan=2|[[Movimiento Socialista de los Trabajadores]]
| 45.973
| 0,26
|-
| align=left rowspan=4|[[Jorge Altamira]]
| align=left rowspan=4|Norma Graciela Molle
| style="background-color:coral;border-bottom-style:hidden;" rowspan=3|
| bgcolor={{Color político|Partido Obrero (Argentina)}}|
| align=left|Frente Unidad Trabajadora - [[Partido Obrero (Argentina)|Obrero]]
| 28.329
| 0,16
|-
| bgcolor={{Color político|Partido Obrero (Argentina)}}|
| align=left|[[Partido Obrero (Argentina)|Partido Obrero]]
| 2.789
| 0,02
|-
| bgcolor={{Color político|Partido Obrero (Argentina)}}|
| align=left|Frente Unidad Trabajadora
| 1.181
| 0,01
|- bgcolor=coral
| colspan=3 align=left| Total Altamira - Molle
| 32.299
| 0,19
|-
| align=left|[[Mario Mazzitelli]]
| align=left|Alberto Raúl Fonseca
| bgcolor={{Color político|Partido Socialista Auténtico (Argentina)}}|
| align=left colspan=2|[[Partido Socialista Auténtico (Argentina)|Partido Socialista Auténtico]]
| 32.174
| 0,18
|-
| align=left|[[Lía Méndez]]
| align=left|Liliana Beatriz Ambrosio
| bgcolor={{Color político|Partido Humanista (Argentina)}}|
| align=left colspan=2|[[Partido Humanista (Argentina)|Partido Humanista]]
| 31.203
| 0,18
|-
| align=left|Alcides Christiansen
| align=left|José Alberto Montes
| bgcolor={{Color político|Movimiento al Socialismo (1982)}}|
| align=left colspan=2|[[Movimiento al Socialismo (1982)|Movimiento al Socialismo]] - [[Partido de los Trabajadores Socialistas|de los Trabajadores Socialistas]]
| 27.643
| 0,16
|-
| align=left|[[Humberto Tumini]]
| align=left|Jorge Emilio Reyna
| bgcolor={{Color político|Corriente Patria Libre}}|
| align=left colspan=2|[[Corriente Patria Libre]]
| 24.326
| 0,14
|-
| align=left rowspan=3|Amílcar Santucho
| align=left rowspan=3|Irma Antognazzi
| style="background-color:silver;border-bottom-style:hidden;" rowspan=2|
| bgcolor=#555555|
| align=left|Movimiento Democrático Popular Antiimperialista
| 12.919
| 0,07
|-
| bgcolor=#555555|
| align=left|Solidaridad
| 147
| 0,00
|- bgcolor=silver
| colspan=3 align=left| Total Santucho - Antognazzi
| 13.066
| 0,08
|-
| align=left|Ricardo Alberto Paz<ref name="ongania" group="nota">[[Juan Carlos Onganía]], ex dictador entre 1966 y 1970, era originalmente candidato a presidente mientras que Ricardo Alberto Paz era candidato a vicepresidente. Antes de la elección Onganía renunció a la fórmula por cuestiones de salud, aunque su nombre seguía apareciendo en la boleta. Murió tres semanas después de realizada la elección.</ref>
| align=left|Adolfo González Chávez
| bgcolor=#B0B5BC|
| align=left colspan=2|Frente para la Coincidencia Patriótica
| 3.147
| 0,02
|-
! style="text-align:left;" colspan=5| Votos positivos
! style="text-align:right;"| 17.395.284
! style="text-align:right;"| 95,56
|-
| colspan=5 align=left| Votos en blanco
| 653.443
| 3,59
|-
| colspan=5 align=left| Votos anulados
| 125.112
| 0,69
|-
| colspan=5 align=left| Diferencia de actas
| 30.085
| 0,16
|-
! style="text-align:left;" colspan=5| Participación
! style="text-align:right;"| 18.203.924
! style="text-align:right;"| 82,08
|-
| colspan=5 align=left| Abstenciones
| 3.974.277
| 17,92
|-
! style="text-align:left;" colspan=5| Electores registrados
! style="text-align:right;"| 22.178.201
! style="text-align:right;"| 100
|-
| colspan=7 align=left|Fuentes:<ref>{{Cita web |url=https://recorriendo.elecciones.gob.ar/presidente1995.html#/3/1 |título=Recorriendo las Elecciones de 1983 a 2013 |sitioweb=Dirección Nacional Electoral |urlarchivo=https://web.archive.org/web/20220817185108/https://recorriendo.elecciones.gob.ar/presidente1995.html#/3/1 |fechaarchivo=17 de agosto de 2022}}</ref><ref>{{Cita web |url=https://www.mininterior.gov.ar/asuntos_politicos_y_alectorales/dine/infogral/RESULTADOS%20HISTORICOS/1995.pdf |título=Elecciones Nacionales ESCRUTINIO DEFINITIVO 1995 |sitioweb=[[Ministerio del Interior (Argentina)|Ministerio del Interior]] |formato=PDF |urlarchivo=https://web.archive.org/web/20180319213604/http://www.mininterior.gov.ar/asuntos_politicos_y_alectorales/dine/infogral/RESULTADOS%20HISTORICOS/1995.pdf |fechaarchivo=19 de marzo de 2018}}</ref>
|}
=== Resultados por distrito ===
{| class="wikitable sortable" style="text-align: center;"
! rowspan=2 | Provincia
! colspan=2 | [[Carlos Menem|Menem]]/[[Carlos Ruckauf|Ruckauf]]<br />([[Partido Justicialista|PJ]])
! colspan=2 | [[José Octavio Bordón|Bordón]]/[[Carlos Álvarez (político)|Álvarez]]<br />([[Frente País Solidario|FREPASO]])
! colspan=2 | [[Horacio Massaccesi|Massaccesi]]/[[Antonio María Hernández|Hernández]]<br />([[Unión Cívica Radical|UCR]])
! colspan=2 | Otras<br />fuerzas
! colspan=2 | Blancos/Nulos/Dif.
! colspan=2 | Participación
|-
! Votos
! %
! Votos
! %
! Votos
! %
! Votos
! %
! Votos
! %
! Votos
! %
|-bgcolor=#B0CEFF
| [[Provincia de Buenos Aires|Buenos Aires]]
| {{orden|3419089|'''3.419.089'''}}
| '''51,81'''
| {{orden|1965708|1.965.708}}
| 29,79
| 916.912
| 13,89
| 297.350
| 4,51
| 297.863
| 4,32
| {{orden|6896922|6.896.922}}
| 84,00
|-bgcolor=#e8b0e8
| [[Capital Federal]]
| 862.365
| 42,71
| '''879.230'''
| '''43,53'''
| 215.382
| 10,66
| 62.605
| 3,10
| 47.522
| 2,30
| {{orden|2067104|2.067.104}}
| 81,70
|-bgcolor=#B0CEFF
| [[Provincia de Catamarca|Catamarca]]
| '''63.701'''
| '''52,29'''
| 19.339
| 15,88
| 37.528
| 30,81
| 1.247
| 1,02
| 23.718
| 16,30
| 145.533
| 83,01
|-bgcolor=#B0CEFF
| [[Provincia del Chaco|Chaco]]
| '''207.857'''
| '''45,82'''
| 72.284
| 18,03
| 101.763
| 29,88
| 9.085
| 2,27
| 9.807
| 2,39
| 410.796
| 75,58
|-bgcolor=#B0CEFF
| [[Provincia del Chubut|Chubut]]
| '''95.228'''
| '''57,15'''
| 25.084
| 15,05
| 42.891
| 25,74
| 3.426
| 2,06
| 12.528
| 6,99
| 179.157
| 81,11
|-bgcolor=#B0CEFF
| [[Provincia de Córdoba (Argentina)|Córdoba]]
| '''752.704'''
| '''48,15'''
| 324.746
| 20,77
| 451.719
| 28,90
| 34.059
| 2,18
| 98.263
| 5,91
| {{orden|1661491|1.661.491}}
| 83,78
|-bgcolor=#B0CEFF
| [[Provincia de Corrientes|Corrientes]]
| '''165.517'''
| '''46,61'''
| 121.999
| 34,36
| 57.082
| 16,08
| 10.484
| 2,95
| 44.947
| 11,24
| 400.029
| 74,58
|-bgcolor=#B0CEFF
| [[Provincia de Entre Ríos|Entre Ríos]]
| '''272.819'''
| '''46,15'''
| 146.086
| 24,71
| 157.112
| 26,58
| 15.105
| 2,56
| 25.065
| 4,07
| 616.187
| 85,20
|-bgcolor=#B0CEFF
| [[Provincia de Formosa|Formosa]]
| '''85.227'''
| '''49,42'''
| 29.022
| 16,83
| 53.778
| 31,18
| 4.431
| 2,57
| 4.825
| 2,72
| 177.283
| 73,34
|-bgcolor=#B0CEFF
| [[Provincia de Jujuy|Jujuy]]
| '''101.642'''
| '''46,81'''
| 46.513
| 21,42
| 50.000
| 23,03
| 18.987
| 8,74
| 11.394
| 4,99
| 228.536
| 76,10
|-bgcolor=#B0CEFF
| [[Provincia de La Pampa|La Pampa]]
| '''77.506'''
| '''50,39'''
| 37.032
| 24,08
| 34.892
| 22,69
| 4.377
| 2,85
| 12.276
| 7,39
| 166.083
| 87,99
|-bgcolor=#B0CEFF
| [[Provincia de La Rioja (Argentina)|La Rioja]]
| '''91.803'''
| '''76,10'''
| 7.588
| 6,29
| 19.945
| 16,53
| 1.295
| 1,07
| 5.382
| 4,27
| 126.013
| 84,59
|-bgcolor=#B0CEFF
| [[Provincia de Mendoza|Mendoza]]
| '''376.972'''
| '''51,69'''
| 246.924
| 33,86
| 88.657
| 12,16
| 16.715
| 2,29
| 62.813
| 7,93
| 792.081
| 85,37
|-bgcolor=#B0CEFF
| [[Provincia de Misiones|Misiones]]
| '''180.571'''
| '''50,31'''
| 30.655
| 8,54
| 138.583
| 38,61
| 9.143
| 2,55
| 9.301
| 2,53
| 368.253
| 76,56
|-bgcolor=#B0CEFF
| [[Provincia de Neuquén|Neuquén]]
| '''99.033'''
| '''53,63'''
| 47.302
| 25,61
| 29.977
| 16,23
| 8.363
| 4,53
| 16.311
| 8,12
| 200.986
| 84,46
|-bgcolor=#B0CEFF
| [[Provincia de Río Negro|Río Negro]]
| '''99.230'''
| '''44,01'''
| 36.183
| 16,05
| 84.172
| 37,33
| 5.893
| 2,61
| 11.480
| 4,84
| 236.958
| 83,20
|-bgcolor=#B0CEFF
| [[Provincia de Salta|Salta]]
| '''209.291'''
| '''53,58'''
| 96.812
| 24,79
| 65.179
| 16,69
| 19.312
| 4,94
| 14.767
| 3,64
| 405.361
| 75,66
|-bgcolor=#B0CEFF
| [[Provincia de San Juan|San Juan]]
| '''167.205'''
| '''59,19'''
| 85.693
| 30,34
| 27.550
| 9,75
| 2.018
| 0,71
| 16.747
| 5,60
| 299.213
| 84,37
|-bgcolor=#B0CEFF
| [[Provincia de San Luis|San Luis]]
| '''87.369'''
| '''55,33'''
| 39.944
| 25,30
| 27.038
| 17,12
| 3.549
| 2,25
| 4.140
| 2,55
| 162.040
| 80,22
|-bgcolor=#B0CEFF
| [[Provincia de Santa Cruz (Argentina)|Santa Cruz]]
| '''41.666'''
| '''58,08'''
| 16.342
| 22,78
| 12.374
| 17,25
| 1.361
| 1,90
| 3.397
| 4,52
| 75.140
| 81,00
|-bgcolor=#B0CEFF
| [[Provincia de Santa Fe|Santa Fe]]
| '''744.576'''
| '''46,94'''
| 593.965
| 37,44
| 199.473
| 12,57
| 48.258
| 3,04
| 51.949
| 3,17
| {{orden|1638221|1.638.221}}
| 81,94
|-bgcolor=#B0CEFF
| [[Provincia de Santiago del Estero|Santiago del Estero]]
| '''202.077'''
| '''64,10'''
| 31.965
| 10,14
| 78.354
| 24,85
| 2.878
| 0,91
| 5.674
| 1,77
| 320.948
| 71,32
|-bgcolor=#B0CEFF
| [[Provincia de Tierra del Fuego, Antártida e Islas del Atlántico Sur|Tierra del Fuego]]
| '''21.509'''
| '''61,19'''
| 7.892
| 22,45
| 4.639
| 13,20
| 1.114
| 3,17
| 1.211
| 3,33
| 36.365
| 73,30
|-bgcolor=#B0CEFF
| [[Provincia de Tucumán|Tucumán]]
| '''262.554'''
| '''45,59'''
| 167.796
| 29,13
| 71.137
| 12,35
| 74.477
| 12,93
| 17.260
| 2,91
| 593.224
| 78,06
|-class=sortbottom
| '''Total'''
| '''8.687.511'''
| '''49,94'''
| 5.096.104
| 29,30
| 2.956.137
| 16,99
| 655.532
| 3,77
| 808.640
| 4,44
| 18.203.924
| 82,08
|}
== Consecuencias ==
Menem asumió su segundo mandato el 8 de julio de 1995. Sin embargo, las disposiciones impuestas por la reforma constitucional extendían este mandato hasta el 10 de diciembre de 1999, ya que el mandato original de Menem debería haber iniciado el 10 de diciembre de 1989, y se adelantó por el traspaso de mando anticipado de [[Raúl Alfonsín]]. A pesar de que algunos sectores del justicialismo sugirieron modificar la constitución para que el primer mandato de Menem no contara como tal y este pudiera presentarse a un tercer período, tanto la UCR como el FREPASO, e incluso varios diputados del PJ declararon públicamente que no apoyarían tal idea y la propuesta quedó en un punto muerto, pues era imposible permitir una segunda reelección de Menem sin el voto de una mayoría de dos tercios en ambas cámaras del Congreso.<ref>[http://www.lanacion.com.ar/123992-menem-volvio-a-instalar-la-reeleccion Menem volvió a instalar la reelección], ''[[La Nación (Argentina)|La Nación]]'', 9 de enero de 1999</ref>
Las primeras [[Elecciones en la Ciudad Autónoma de Buenos Aires de 1996|elecciones para Jefe de Gobierno y convencionales estatuyentes]] de la [[Ciudad Autónoma de Buenos Aires]] se realizaron el 30 de junio de 1996. El candidato de la UCR, [[Fernando de la Rúa]], obtuvo una amplia victoria, mientras que el FREPASO quedó en segundo lugar y el PJ quedó relegado al tercer puesto. Tras la aplastante victoria del justicialismo en 1995, la UCR y el FREPASO, que hasta entonces habían mostrado una actitud abiertamente enfrentada y ni siquiera habían afirmado si se apoyarían o no en un eventual balotaje, se convencieron de que solo formando una coalición electoral podrían contrapersar al menemismo, lo que derivó en la fundación de la [[Alianza para el Trabajo, la Justicia y la Educación]] en 1997.<ref>{{Cita web |url=http://www.clarin.com/diario/97/10/27/tapa.htm |título=''Buenos Aires le dio a la Alianza dimensión nacional'', Clarín. 27 de octubre de 1997 |fechaacceso=28 de diciembre de 2017 |fechaarchivo=11 de enero de 2007 |urlarchivo=https://web.archive.org/web/20070111173852/http://www.clarin.com/diario/97/10/27/tapa.htm |deadurl=yes }}</ref>
== Véase también ==
* [[Elecciones legislativas de Argentina de 1995]]
* [[Elecciones al Senado de Argentina de 1995]]
* [[Elecciones provinciales de Argentina de 1995]]
== Notas ==
{{Listaref|group="nota"}}
== Referencias ==
{{listaref}}
== Enlaces externos ==
{{commonscat|1995 Argentine general election}}
* [https://web.archive.org/web/20051229235355/http://www.mininterior.gov.ar/elecciones/archivos_zip/Totgen95.zip Elecciones 1995. Presidenciales - Generales (103kb - xls comprimido en ZIP).]
{{Control de autoridades}}
[[Categoría:Elecciones presidenciales de Argentina|1995]]
[[Categoría:Elecciones en Argentina en 1995|Argentina]]
[[Categoría:Menemismo]]
7ce64cbfa5a94808e7229bd538c36abee954955d
Plantilla:Y-e
10
41
81
80
2024-01-02T19:49:34Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{#switch: {{{e}}}
|si|sí = e
|no = y
|#default= {{#switch: {{padleft:|1| {{lc:{{{1|}}}}} }}
| =
|[ = Esta plantilla no acepta corchetes de enlace en el primer parámetro. Para enlazar el resultado agrega la palabra «enlazar» como segundo parámetro.
|í = e
|i = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|ia|ie|io|iá|ié|ió|i' = y
|ib = {{#switch: {{padleft:|5| {{lcfirst:{{{1|}}}}} }}
|iBook = y
|#default= e
}}
|im = {{#switch: {{padleft:|4| {{lcfirst:{{{1|}}}}} }}
|iMac = y
|#default= e
}}
|ip = {{#switch: {{padleft:|4| {{lcfirst:{{{1|}}}}} }}
|iPad|iPaq|iPed|iPho|iPod = y
|#default= e
}}
|it = {{#switch: {{padleft:|5| {{lcfirst:{{{1|}}}}} }}
|iTune = y
|#default= e
}}
|ic = {{#switch: {{padleft:|6| {{lcfirst:{{{1|}}}}} }}
|iCarly = y
|#default= e
}}
|i = {{#switch: {{padleft:|5| {{lc:{{{1|}}}}} }}
|i am|i am.|i beg|i bel|i bet|i cal|i can|i clo|i cou|i did|i do |i don|i dre|i dri|i fee|i fou|i get|i got|i had|i hat|i hav|i jus|i kee|i kil|i kis|i kne|i kno|i lik|i liv|i loo|i lov|i me |i mig|i mis|i nee|i nev|i now|i pho|i put|i rem|i rob|i saw|i say|i see|i set|i sho|i sta|i sti|i swe|i thi|i tho|i tur|i wal|i wan|i was|i wil|i wis|i won|i wou|i wri = y
|#default= e
}}
|#default= e
}}
|h = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|hí = e
|hi = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|hia|hie|hio|hiá|hié|hió = y
|hi |hi-|hi!|hi1|hi2|hi3|hi4|hi5|hi6|hi7|hi8|hi9|hi0 = y
|hig = {{#switch: {{padleft:|4| {{lc:{{{1|}}}}} }}
|high = y
|#default= e
}}
|#default= e
}}
|#default= y
}}
|y = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|ya|yá|ye|yé|yi|yí|yo|yó|yu|yú|y = y
|#default= e
}}
|e = {{#switch: {{padleft:|4| {{lcfirst:{{{1|}}}}} }}
|each|eagl|east|easy|eat
|eBay|eBir|eBoo|eBud|eCal|eCol|eCom|eDre|eDev|eDon|eGam|eLin
|eMac|eMed|eMov|eMul|ePub
|e-bo|e-co|e-go|e-ma|e-mo = e
|#default= y
}}
|¡|¿ = {{#switch: {{padleft:|2| {{lc:{{{1|}}}}} }}
|¡í|¿í = e
|¡i|¿i = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|¡ia|¡ie|¡io|¡iá|¡ié|¡ió
|¿ia|¿ie|¿io|¿iá|¿ié|¿ió = y
|#default= e
}}
|¡h|¿h = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|¡hí|¿hí = e
|¡hi|¿hi = {{#switch: {{padleft:|4| {{lc:{{{1|}}}}} }}
|¡hia|¡hie|¡hio|¡hiá|¡hié|¡hió
|¿hia|¿hie|¿hio|¿hiá|¿hié|¿hió = y
|#default= e
}}
|#default= y
}}
|¡y|¿y = {{#switch: {{padleft:|3| {{lc:{{{1|}}}}} }}
|¡ya|¡yá|¡ye|¡yé|¡yi|¡yí|¡yo|¡yó|¡yu|¡yú|¡y
|¿ya|¿yá|¿ye|¿yé|¿yi|¿yí|¿yo|¿yó|¿yu|¿yú|¿y = y
|#default= e
}}
|#default= y
}}
|#default= y
}} }}{{#switch:{{{2|}}}|st|sin texto = | {{{pre|}}}{{#if:{{{enlace|}}}|[[{{{enlace}}}|{{{1}}}]]|{{#switch:{{{2|}}}|enlazar|enlazado|enlace=[[{{{1|}}}]]|{{{1|}}}}}}}{{{post|}}}}}<noinclude>
{{documentación}}
</noinclude>
37ca9f7ea5879d28b3405e1e535b0c3d022e854d
Módulo:Tablas
828
42
83
82
2024-01-02T19:49:35Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local z = {}
-- Código copiado de http://lua-users.org/wiki/SortedIteration
function __genOrderedIndex( t )
local orderedIndex = {}
for key in pairs(t) do
table.insert( orderedIndex, key )
end
table.sort( orderedIndex )
return orderedIndex
end
function orderedNext(t, state)
-- Equivalent of the next function, but returns the keys in the alphabetic
-- order. We use a temporary ordered key table that is stored in the
-- table being iterated.
local key = nil
--print("orderedNext: state = "..tostring(state) )
if state == nil then
-- the first time, generate the index
t.__orderedIndex = __genOrderedIndex( t )
key = t.__orderedIndex[1]
else
-- fetch the next value
for i = 1,table.getn(t.__orderedIndex) do
if t.__orderedIndex[i] == state then
key = t.__orderedIndex[i+1]
end
end
end
if key then
return key, t[key]
end
-- no more value to return, cleanup
t.__orderedIndex = nil
return
end
function orderedPairs(t)
-- Equivalent of the pairs() function on tables. Allows to iterate
-- in order
return orderedNext, t, nil
end
function z.tostringordered(tabla, identacion)
identacion = identacion or '\n'
local identacion2 = identacion .. ' '
if not tabla then
return
end
local valores = {}
local k2, v2
for k,v in orderedPairs(tabla) do
if type(k) == 'string' then
k2 = '"' .. k .. '"'
else
k2 = k
end
if type(v) == 'table' then
v2 = z.tostringordered(v, identacion2)
elseif type(v)=='string' then
v2 = '"' .. v .. '"'
else
v2 = tostring(v)
end
table.insert(valores, '[' .. k2 .. '] = ' .. v2)
end
return '{' .. identacion2 .. (table.concat(valores, ', ' .. identacion2) or '') .. identacion .. '}'
end
function z.tostring(tabla, identacion)
identacion = identacion or '\n'
local identacion2 = identacion .. ' '
if not tabla then
return
end
local valores = {}
local k2, v2
for k,v in pairs(tabla) do
if type(k) == 'string' then
k2 = '"' .. k .. '"'
else
k2 = k
end
if type(v) == 'table' then
v2 = z.tostring(v, identacion2)
elseif type(v)=='string' then
v2 = '"' .. v .. '"'
else
v2 = tostring(v)
end
table.insert(valores, '[' .. k2 .. '] = ' .. v2)
end
return '{' .. identacion2 .. (table.concat(valores, ', ' .. identacion2) or '') .. identacion .. '}'
end
function z.elemento(tabla, indice1, indice2, indice3, indice4, indice5, indice6, indice7)
local resultado
if not tabla or not indice1 then
return
end
resultado = tabla[indice1]
if not indice2 or not resultado then
return resultado
end
resultado = resultado[indice2]
if not indice3 or not resultado then
return resultado
end
resultado = resultado[indice3]
if not indice4 or not resultado then
return resultado
end
resultado = resultado[indice4]
if not indice5 or not resultado then
return resultado
end
resultado = resultado[indice5]
if not indice6 or not resultado then
return resultado
end
resultado = resultado[indice6]
if not indice7 or not resultado then
return resultado
end
resultado = resultado[indice7]
return resultado
end
function z.en(tabla, elemento)
if not elemento then
return
end
for k,v in pairs( tabla ) do
if v == elemento then
return k
end
end
end
function z.copiarElementosConValor(original)
local copia= {}
for k,v in pairs(original) do
if v~='' then
copia[k] = original[k]
end
end
return copia
end
function z.insertar(tabla, elemento)
if not elemento then
return false
end
if not z.en(tabla, elemento) then
table.insert(tabla, elemento)
end
return true
end
function z.insertarElementosConValor(origen, destino)
for k,v in pairs(origen) do
if v~='' then
table.insert(destino, v)
end
end
return copia
end
function z.sonIguales(tabla1, tabla2)
if not tabla1 or not tabla2 then
return false
end
if tabla1 == tabla2 then
return true
end
for k,v in pairs(tabla1) do
if tabla2[k] ~= v then
return false
end
end
for k,v in pairs(tabla2) do
if not tabla1[k] then
return false
end
end
return true
end
function z.ordenarFuncion(tabla, funcion)
local funcionInestable = funcion
-- Añadir a la tabla un campo con el orden
for i,n in ipairs(tabla) do tabla[i].__orden = i end
table.sort(tabla,
function(a,b)
if funcionInestable(a, b) then return true -- a < b
elseif funcionInestable(b, a) then return false -- b < a
elseif a.__orden < b.__orden then return true -- a = b y a aparece antes que b
else return false -- a = b y b aparece antes que a
end
end
)
-- Eliminar de la tabla el campo con el orden
for i,n in ipairs(tabla) do tabla[i].__orden = nil end
end
function z.ordenar(tabla, criterio)
if type(criterio) == 'table' then
z.ordenarFuncion(tabla,
function(a,b)
local valorA, valorB
for i,campo in ipairs(criterio) do
valorA = a[campo]
valorB = b[campo]
if not valorA and not valorA then
-- No hacer nada
elseif not valorA and valorB then
return true
elseif valorA and not valorB then
return false
elseif valorA < valorB then
return true
elseif valorA > valorB then
return false
end
end
return false -- Todos los valores son iguales
end
)
else
z.ordenarFuncion(tabla, criterio)
end
end
function z.agrupar(tabla, clave, campo)
local tabla2 = {}
local v2
for k,v in ipairs(tabla) do
if not v[campo] then
table.insert(tabla2, v)
v2 = nil
elseif v2 and v2[clave] == v[clave] then
-- Agrupar
table.insert(v2[campo], v[campo])
else
v2 = v
v2[campo] = {v[campo]}
table.insert(tabla2, v2)
end
end
return tabla2
end
return z
3b337fe23c3261ac5318410bc4e3072b9514fddf
Módulo:Wikidata
828
43
85
84
2024-01-02T19:49:35Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
--[[*********************************************************************************
* Nombre: Módulo:Wikidata
*
* Descripción: Este módulo devuelve el valor o valores con o sin formato
* específico a una propiedad de Wikidata.
*
* Fecha última revisión: 30 de junio de 2021.
*
* Estado: En uso.
*
*********************************************************************************`-- ]]
local p = {}
local datequalifiers = {'P585', 'P571', 'P580', 'P582'}
local es = mw.language.new('es')
local primera = true
--local marco Ojo. marco no debe definirse como local pues si se hace así puede fallar.
--[[ =========================================================================
Mensajes de error
========================================================================= `-- ]]
local avisos = mw.loadData('Módulo:Wikidata/mensajes')
-- Módulos y funciones utilizadas
local elementoTabla = require('Módulo:Tablas').elemento
--
-- Módulos en los que están definidos los tipos de datos más habituales si son
-- diferentes de Wikidata/Formatos
--
local modulosTipos = mw.loadData('Módulo:Wikidata/modulosTipos')
local modulosTiposComplejos = {
['nacionalidad'] = 'Módulo:Wikidata/Formatos país',
}
--[[ =========================================================================
Función para pasar el frame cuando se usa en otros módulos.
========================================================================= `-- ]]
function p:setFrame(frame)
marco = frame
end
--[[ =========================================================================
Función para identificar el ítem correspondiente a la página o otro dado.
Esto último aún no funciona.
========================================================================= `-- ]]
function SelecionEntidadPorId( id )
if id and id ~= '' then
return mw.wikibase.getEntityObject( id )
else
return mw.wikibase.getEntityObject()
end
end
--[[ =========================================================================
Función que identifica si el valor devuelto es un ítem o una propiedad
y en función de eso añade el prefijo correspondiente
========================================================================= `-- ]]
function SelecionEntidadPorValor( valor )
local prefijo = ''
if valor['entity-type'] == 'item' then
prefijo = 'q' -- Prefijo de ítem
elseif valor['entity-type'] == 'property' then
prefijo = 'p' -- Prefijo de propiedad
else
return formatoError( 'unknown-entity-type' )
end
return prefijo .. valor['numeric-id'] -- Se concatena el prefijo y el código numérico
end
--[[ =========================================================================
Función auxiliar para dar formato a los mensajes de error
========================================================================= `-- ]]
function formatoError( clave )
return '<span class="error">' .. avisos.errores[clave] .. '</span>'
end
--[[ =========================================================================
Función para determinar el rango
========================================================================= `-- ]]
function getRango(tablaDeclaraciones)
local rank = 'deprecated'
for indice, declaracion in pairs(tablaDeclaraciones) do
if declaracion.rank == 'preferred' then
return 'preferred'
elseif declaracion.rank == 'normal' then
rank = 'normal'
end
end
return rank
end
--[[ =========================================================================
Función para determinar la declaracion o declaraciones de mayor rango
========================================================================= `-- ]]
function p.filtrarDeclaracionPorRango(tablaDeclaraciones)
local rango = getRango(tablaDeclaraciones)
local tablaAuxiliar = tablaDeclaraciones
tablaDeclaraciones = {}
if rango == 'deprecated' then
return {}
end
for indice, declaracion in pairs(tablaAuxiliar) do
if declaracion.rank == rango then
table.insert(tablaDeclaraciones, declaracion)
end
end
return tablaDeclaraciones
end
--[[ =========================================================================
Función para seleccionar el tipo de declaración: Referencia, valor principal
o calificador
========================================================================= `-- ]]
function seleccionDeclaracion(declaracion, opciones)
local fuente = {}
local propiedadFuente = {}
local calificador = opciones.formatoCalificador ~= '()' and opciones.calificador
if calificador ~= '' and calificador and declaracion['qualifiers'] then
if declaracion['qualifiers'][mw.ustring.upper(calificador)] then
return declaracion.qualifiers[mw.ustring.upper(calificador)][1] -- devuelve el calificador (solo devolverá el primer valor)
else
return "" --Para que no lance excepción si no existe el calificador
end
elseif opciones.dato == 'fuente' and declaracion['references'] then
fuente = declaracion.references[1]['snaks']
for k,v in pairs(fuente) do
propiedadFuente = k
end
return declaracion.references[1]['snaks'][propiedadFuente][1] -- devuelve la fuente (queda que se itinere la tabla)
elseif (calificador == '' or not calificador) and (opciones.dato ~= 'fuente') then
return declaracion.mainsnak -- devuelve el valor principal
else
return ''
end
end
--[[ =========================================================================
Función para recopilar las declaraciones
========================================================================= `-- ]]
function p.getDeclaraciones(entityId)
-- == Comprobamos que existe un ítem enlazado a la página en Wikidata ==
if not pcall (SelecionEntidadPorId, entityId ) then
return false
end
local entidad = SelecionEntidadPorId(entityId)
if not entidad then
return '' -- Si la página no está enlazada a un ítem no devuelve nada
end
-- == Comprobamos que el ítem tiene declaraciones (claims) ==
if not entidad.claims then
return '' -- Si el ítem no tiene declaraciones no devuelve nada
end
-- == Declaración de formato y concatenado limpio ==
return entidad.claims
end
--[[ =========================================================================
Función para crear la cadena que devolverá la declaración
========================================================================= `-- ]]
local function valinQualif(claim, qualifs)
local claimqualifs = claim.qualifiers
local i,qualif
local vals, vals1, datavalue, value, datatype
if not claimqualifs then
return nil
end
for i, qualif in pairs(qualifs) do
vals = claimqualifs[qualif]
if vals then
vals1 = vals[1]
if vals1 then
datavalue=vals1.datavalue
if datavalue then
datatype = datavalue.type
value = datavalue.value
if datatype == 'time' and value then
return value.time
elseif datatype == 'string' and value then
return value
end
end
end
end
end
end
function p.getPropiedad(opciones, declaracion)
local propiedad = {}
-- Resolver alias de propiedad
if opciones.propiedad == 'precisión' or opciones.propiedad == 'latitud' or opciones.propiedad == 'longitud' then --latitud, longitud o precisión
-- Tierra
propiedad = 'P625'
-- Luna
if mw.wikibase.getEntityObject() and mw.wikibase.getEntityObject():formatPropertyValues("p376")["value"] == 'Luna' then
propiedad = 'P8981'
end
else
propiedad = opciones.propiedad -- En el resto de casos se lee lo dado
end
if not propiedad then -- Comprobamos si existe la propiedad dada y en caso contrario se devuelve un error
return formatoError( 'property-param-not-provided' )
end
local tablaOrdenada
if declaracion then
tablaOrdenada = declaracion
elseif mw.wikibase.isValidEntityId(tostring(opciones.entityId)) and mw.wikibase.isValidEntityId(tostring(propiedad)) then
tablaOrdenada = mw.wikibase.getAllStatements( opciones.entityId, mw.ustring.upper(propiedad) )
if not tablaOrdenada[1] then return '' end
else
return ''
end
-- Función que separa la cadena de texto 'inputstr' utilizando un separador 'sep'
function split(inputstr, sep)
sep=sep or '%s'
local t={}
for field,s in string.gmatch(inputstr, "([^"..sep.."]*)("..sep.."?)") do
table.insert(t,field)
if s=="" then
return t
end
end
end
tablaOrdenada = p.filtroDesconocidos(tablaOrdenada)
-- Aplicar filtro de calificador
if (opciones.filtroCalificador ~= nil and opciones.filtroCalificador ~= '') then
local opts = split(opciones.filtroCalificador, ';')
local negative = false
if (#opts > 2) then
if (opts[3]=='n') then
negative = true
elseif (opts[3]=='p') then
negative = false
end
end
tablaOrdenada = p.filtroCalificadores(tablaOrdenada, opts[1], split(opts[2], ','), negative)
end
-- Aplicar filtro de valor
if (opciones.filtroValor ~= nil and opciones.filtroValor ~= '') then
local opts = split(opciones.filtroValor, ';')
local negative = false
if (#opts > 1) then
if (opts[2]=='n') then
negative = true
elseif (opts[2]=='p') then
negative = false
end
end
tablaOrdenada = p.filtroValores(tablaOrdenada, split(opts[1], ','), negative)
end
-- Aplicar función de formato
local modulo, funcion
funcion = opciones['valor-función'] or opciones['value-function'] or opciones['funcion']
if funcion then
modulo = modulosTiposComplejos[funcion]
if modulo then
return require(modulo)[funcion](tablaOrdenada, opciones)
end
end
-- Evitar que pete cuando se haga el find en opciones['formatoTexto'] si vale nil
if not opciones['formatoTexto'] then
opciones['formatoTexto'] = ''
end
-- Aplicar filtro de mayor rango
if (opciones.rangoMayor == 'sí') then
tablaOrdenada = p.filtrarDeclaracionPorRango(tablaOrdenada)
end
-- Ordenarsegún el calificador "orden dentro de la serie"
if opciones.ordenar == 'sí' then
require('Módulo:Tablas').ordenar(tablaOrdenada,
function(elemento1,elemento2)
local orden1 = valinQualif(elemento1, { 'P1545' }) or '' -- elemento1.qualifiers.P1545[1].datavalue.value or ''
local orden2 = valinQualif(elemento2, { 'P1545' }) or '' -- elemento2.qualifiers.P1545[1].datavalue.value or ''
return orden1 < orden2
end
)
end
--Ordenar según la fecha. [Véase la función chronosort de :fr:Module:Wikidata/Récup]
if opciones.ordenar == 'por fecha' then
require('Módulo:Tablas').ordenar(tablaOrdenada,
function(elemento1,elemento2)
local fecha1 = valinQualif(elemento1, datequalifiers) or '' -- elemento1.qualifiers.P580[1].datavalue.value.time or ''
local fecha2 = valinQualif(elemento2, datequalifiers) or '' -- elemento2.qualifiers.P580[1].datavalue.value.time or ''
return fecha1 < fecha2
end
)
end
-- Si después de todo no queda nada en la tabla retornar
if not tablaOrdenada[1] then
return
end
-- == Si solo se desea que devuelva un valor ==
-- Pendiente eliminar el parámetro y sustituirlo por un nuevo valor del parámetro lista=no que haría lo mismo que opciones.uno = sí
if opciones.uno == 'sí' then -- Para que devuelva el valor de índice 1
tablaOrdenada = {tablaOrdenada[1]}
elseif opciones.uno == 'último' then -- Para que devuelva la última entrada de la tabla
tablaOrdenada = {tablaOrdenada[#tablaOrdenada]}
end
-- == Creamos una tabla con los valores que devolverá ==
local formatoDeclaraciones = {}
local hayDeclaraciones
for indice, declaracion in pairs(tablaOrdenada) do
declaracionFormateada = p.formatoDeclaracion(declaracion, opciones)
if declaracionFormateada and declaracionFormateada ~= '' then
table.insert(formatoDeclaraciones, declaracionFormateada)
hayDeclaraciones = true
end
end
primera = true
if not hayDeclaraciones then
return
end
-- Aplicar el formato a la lista de valores según el tipo de lista de las
-- opciones
return p.formatoLista(formatoDeclaraciones, opciones)
end
-- Función que sirve para comprobar si una entidad tiene una propiedad con un
-- valor específico
-- Parámetros:
-- · entidad: tabla de la entidad de Wikidata
-- · propiedad: identificador de Wikidata para la propiedad
-- · valor: valor de la propiedad en Wikidata
function p.tieneValorPropiedad(entidad, propiedad, valor)
if entidad and entidad.claims and entidad.claims[propiedad] then
local mainsnak
for key,value in ipairs(entidad.claims[propiedad]) do
if value and value.mainsnak then
mainsnak = value.mainsnak
if mainsnak.datatype == 'wikibase-item' and
mainsnak.snaktype == 'value' and
mainsnak.datavalue.value.id == valor then
return true
end
end
end
end
return false
end
-- Función que sirve para devolver la leyenda (P2096) de una imagen (P18) en Wikidata en un determinado idioma
-- La función se llama así: {{#invoke:Wikidata |getLeyendaImagen | <PARÁMETRO> | lang=<ISO-639code> |id=<QID>}}
-- Devuelve PARÁMETRO, a menos que sea igual a "FETCH_WIKIDATA", del objeto QID (llamada que consume recursos)
-- Si se omite QID o está vacio, se utiliza el artículo actual (llamada que NO consume recursos)
-- Si se omite lang se utiliza por defecto el idioma local de la wiki, en caso contrario el idioma del código ISO-639
-- ISO-639 está documentado aquí: https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html#wp1252447
-- El ranking es: 'preferred' > 'normal' y devuelve la etiqueta de la primera imágen con ranking 'preferred'
-- O la etiqueta de la primera imagen with ranking 'normal' si no hay ningún 'preferred'
-- Ranks: https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua
p.getLeyendaImagen = function(frame)
-- busca un un elemento concreto en Wikidata (QID), en caso contrario que sea nil
local id = frame.args.id
if id and (#id == 0) then
id = nil
end
-- busca el parámetro del idioma que debería contender un código ISO-639 de dos dígitos
-- si no se declara, toma por defecto el idioma local de la wiki (es)
local lang = frame.args.lang
if (not lang) or (#lang < 2) then
lang = mw.language.getContentLanguage().code
end
-- el primer parámetro sin nombrar es el parámetro local, si se declara
local input_parm = mw.text.trim(frame.args[1] or "")
if input_parm == "FETCH_WIKIDATA" or input_parm == "" or input_parm == nil then
local ent = mw.wikibase.getEntityObject(id)
local imgs
if ent and ent.claims then
imgs = ent.claims.P18
end
local imglbl
if imgs then
-- busca una imagen con ranking 'preferred'
for k1, v1 in pairs(imgs) do
if v1.rank == "preferred" and v1.qualifiers and v1.qualifiers.P2096 then
local imglbls = v1.qualifiers.P2096
for k2, v2 in pairs(imglbls) do
if v2.datavalue.value.language == lang then
imglbl = v2.datavalue.value.text
break
end
end
end
end
-- si no hay ninguna, busca una con ranking 'normal'
if (not imglbl) then
for k1, v1 in pairs(imgs) do
if v1.rank == "normal" and v1.qualifiers and v1.qualifiers.P2096 then
local imglbls = v1.qualifiers.P2096
for k2, v2 in pairs(imglbls) do
if v2.datavalue.value.language == lang then
imglbl = v2.datavalue.value.text
break
end
end
end
end
end
end
return imglbl
else
return input_parm
end
end
-- Función que devuelve el valor de entidad.claims[idPropiedad][ocurrencia].mainsnak.datavalue.value.text
-- con entidad.claims[idPropiedad][ocurrencia].mainsnak.datavalue.value.language = 'es'
-- Útil para obtener valores de propiedades de tipo monolingualtext
function p.getPropiedadEnEspanyol(idEntidad, idPropiedad)
-- Ver cs:Modul:Wikidata/item formatEntityWithGender
--
local entidad = mw.wikibase.getEntityObject(idEntidad)
if not entidad then
return
end
local declaracion = elementoTabla(entidad,'claims', idPropiedad)
if not declaracion then
return
end
local valor
for k,v in pairs(declaracion) do
valor = elementoTabla(v,'mainsnak', 'datavalue', 'value')
if valor.language == 'es' then
return valor.text
end
end
end
-- devuelve el ID de la página en Wikidata (Q...), o nada si la página no está conectada a Wikidata
function p.pageId(frame)
local entity = mw.wikibase.getEntityObject()
if not entity then return nil else return entity.id end
end
function p.categorizar(opciones, declaracion)
-- Evitar que pete cuando se haga el find en opciones['formatoTexto'] si vale nil
if not opciones['formatoTexto'] then
opciones['formatoTexto'] = ''
end
local categoriaOpciones=opciones['categoría']
if not categoriaOpciones then
return ''
end
opciones['enlace'] = 'no'
-- Crear una tabla con los valores de la propiedad.
local valoresDeclaracion = {}
if declaracion then
valoresDeclaracion = declaracion
elseif opciones.propiedad then
local propiedad = {}
if opciones.propiedad == 'precisión' or opciones.propiedad == 'latitud' or opciones.propiedad == 'longitud' then
propiedad = 'P625' -- Si damos el valor latitud, longitud o precisión equivaldrá a dar p625
else
propiedad = opciones.propiedad -- En el resto de casos se lee lo dado
end
if not p.getDeclaraciones(opciones.entityId) then
return formatoError( 'other entity' )
elseif p.getDeclaraciones(opciones.entityId)[mw.ustring.upper(propiedad)] then
valoresDeclaracion = p.getDeclaraciones(opciones.entityId)[mw.ustring.upper(propiedad)]
else
return ''
end
else
return ''
end
-- Creamos una tabla con cada categoría a partir de cada valor de la declaración
local categorias = {}
local hayCategorias
if type(categoriaOpciones) == 'string' then
local ModuloPaginas = require('Módulo:Páginas')
for indice, valor in pairs(valoresDeclaracion) do
valorFormateado = p.formatoDeclaracion(valor, opciones)
if valorFormateado ~= '' then
categoria = ModuloPaginas.existeCategoria(categoriaOpciones:gsub('$1',valorFormateado))
if categoria then
table.insert(categorias, categoria)
hayCategorias = true
end
end
end
elseif type(categoriaOpciones) == 'table' then
for indice, valor in pairs(valoresDeclaracion) do
categoria = categoriaOpciones[elementoTabla(valor, 'mainsnak', 'datavalue', 'value', 'numeric-id')]
if categoria then
table.insert(categorias, 'Categoría:' .. categoria)
hayCategorias = true
end
end
end
if hayCategorias then
return '[[' .. mw.text.listToText( categorias, ']][[',']][[') .. ']]'
end
return ''
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan el calificador "qualifier" indicado con uno de los valores "values"
========================================================================= `-- ]]
function p.filtroCalificadores(t, qualifier, values, negativo)
local f = {} -- Tabla que se devolverá con el resultado del filtrado
for k,v in pairs(t) do
local counts = false
if(v["qualifiers"] ~= nil and v["qualifiers"][qualifier] ~= nil) then
for k2,v2 in pairs(v["qualifiers"][qualifier]) do
-- Comprobar si el identificador del valor del cualificador está en la lista
for k3,v3 in pairs(values) do
if (v2["datavalue"] ~= nil and v2["datavalue"]["value"] ~= nil and v2["datavalue"]["value"]["id"] ~= nil and v3 == v2["datavalue"]["value"]["id"])then
counts = true -- Si está marcar como true
end
end
end
end
if counts and not negativo then -- Si uno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
elseif not counts and negativo then -- Si ninguno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
end
end
return f
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan uno de los valores "values"
========================================================================= `-- ]]
function p.filtroValores(t, values, negativo)
local f = {} -- Tabla que se devolverá con el resultado del filtrado
for k,v in pairs(t) do
local counts = false
if(v["mainsnak"]["datavalue"]["value"]["id"] ~= nil) then
for k2,v2 in pairs(values) do
if (v2 == v["mainsnak"]["datavalue"]["value"]["id"])then
counts = true -- Si está marcar como true
end
end
end
if counts and not negativo then -- Si uno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
elseif not counts and negativo then -- Si ninguno de los valores del cualificador dio true se inserta el elemento
table.insert(f, v)
end
end
return f
end
--[[ =========================================================================
Función que filtra los valores de una propiedad y devuelve solo los que
tengan formatos de valor, omitiendo los de formato desconocido o sin valor
========================================================================= `-- ]]
function p.filtroDesconocidos(t)
for k,v in pairs(t) do
if(v["mainsnak"]["snaktype"] ~= "value") then
t[k] = nil
end
local qual = v["qualifiers"]
if(qual ~= nil) then
for qualk,qualv in pairs(qual) do
local prop = qualv
for propk,propv in pairs(prop) do
if(propv["snaktype"] ~= "value") then
prop[propk] = nil
-- same as: qual[prop] = nil
-- same as: t["qualifiers"][prop] = nil
end
end
if #prop == 0 then
prop = nil
qual[qualk] = nil
end
end
if #qual == 0 then
qual = nil
end
end
end
return t
end
--[[ =========================================================================
Función que comprueba si la página está enlazada a Wikidata
en caso de estarlo pasa el valor como a argumento a la función formatSnak()
========================================================================= `-- ]]
function p.formatoDeclaracion( declaracion, opciones)
if not declaracion.type or declaracion.type ~= 'statement' then -- Se comprueba que tiene valor de tipo y que este sea statement (declaración) lo cual pasa siempre que existe la propiedad
return formatoError( 'unknown-claim-type' ) -- Si no se cumple devuelve error
end
-- En el caso de que haya calificador se devuelve a la derecha del valor de la
-- declaración entre paréntesis.
local calificativo = opciones.calificativo or opciones.calificador
if calificativo and declaracion.qualifiers then
-- De momento los calificativos, normalmente años, no se enlazan
local opcionesCalificativo = {['formatoTexto']='', enlace='no', ['formatoFecha']='año'} -- Pendiente
local wValorCalificativo
local wValorCalificativoFormateado
local funcionCalificativo, mensajeError = obtenerFuncion(calificativo, opciones['módulo calificativo'])
if mensajeError then
return mensajeError
elseif funcionCalificativo then
-- Utilizar la función recibida sobre todos los calificativos
wValorCalificativo = declaracion.qualifiers
wValorCalificativoFormateado = funcionCalificativo(wValorCalificativo, opcionesCalificativo)
elseif opciones.formatoCalificador and opciones.formatoCalificador == '()' then
wValorCalificativo = declaracion.qualifiers[mw.ustring.upper(calificativo)]
if wValorCalificativo and wValorCalificativo[1] then
wValorCalificativoFormateado = p.formatoDato(wValorCalificativo[1], opcionesCalificativo)
end
elseif opciones.formatoCalificador and table.getn(mw.text.split(opciones.formatoCalificador, '%.')) == 2 then
moduloFormatoCalificador = mw.text.split(opciones.formatoCalificador, '%.')
formateado = require ('Módulo:' .. moduloFormatoCalificador[1])
if not formateado then
return formatoError( 'value-module-not-found' )
end
fun = formateado[moduloFormatoCalificador[2]]
if not fun then
return formatoError( 'value-function-not-found' )
end
if mw.ustring.find(opciones['formatoTexto'],'mayúscula', plain ) and
(primera or (opciones['separador'] and opciones['separador'] ~= 'null') or
(opciones['lista'] and opciones['lista'] ~= '')) then
opciones['mayúscula'] = 'sí'
primera = false
end
if mw.ustring.find(opciones['formatoTexto'],'cursivas', plain ) then
opcionesEntidad.cursivas = 'sí'
end
wValorCalificativoFormateado = fun( declaracion.qualifiers, opciones, marco)
--return require('Módulo:Tablas').tostring(declaracion)
else
-- Utilizar el primer valor del calificativo de la propiedad recibida
wValorCalificativo = declaracion.qualifiers[mw.ustring.upper(calificativo)]
if wValorCalificativo and wValorCalificativo[1] then
wValorCalificativoFormateado = p.formatoDato(wValorCalificativo[1], opcionesCalificativo)
end
end
if opciones.separadorcalificador then separador = opciones.separadorcalificador else separador = ' ' end
if wValorCalificativoFormateado then
datoFormateado = p.formatoDato(declaracion.mainsnak, opciones)
-- Si el parámetro especificado era "|calificador="" no devolver propiedad y paréntesis
if(opciones.calificador ~= nil and opciones.calificador ~= '') then
return wValorCalificativoFormateado
end
-- Si el parámetro especificado era "|calificativo="" devolver propiedad y calificativo entre paréntesis
return (datoFormateado and datoFormateado .. ' <small>(' .. wValorCalificativoFormateado .. ')</small>') or nil
end
end
-- Si no hay calificativo.
return p.formatoDato(seleccionDeclaracion(declaracion, opciones), opciones, declaracion.qualifiers)
end
--[[ =========================================================================
Función que comprueba el tipo de dato (snaktype)
si es value pasa el valor como argumento a la función formatoValorDato()
========================================================================= `-- ]]
function p.formatoDato( dato, opciones, calificativos)
if not dato or dato == '' then
return ''
end
if dato.snaktype == 'somevalue' then
-- Fecha más temprana
if calificativos then
if calificativos['P1319'] and calificativos['P1319'][1] and
calificativos['P1319'][1].datavalue and
calificativos['P1319'][1].datavalue.type=='time' then
local opcionesFecha={['formatoFecha']=opciones['formatoFecha'],enlace=opciones.enlace}
return 'post. ' .. require('Módulo:Wikidata/Fecha').FormateaFechaHora(calificativos['P1319'][1].datavalue.value, opcionesFecha)
end
end
-- Si no tiene un calificativo válido
return avisos['somevalue'] -- Valor desconocido
elseif dato.snaktype == 'novalue' then
return avisos['novalue'] -- Sin valor
elseif dato.snaktype == 'value' then
return formatoValorDato( dato.datavalue, opciones, calificativos) -- Si tiene el tipo de dato se pasa el valor a la función formatDatavalue()
else
return formatoError( 'unknown-snak-type' ) -- Tipo de dato desconocido
end
end
--[[ =========================================================================
Función que establece el tipo de formato en función del tipo de valor
(valorDato.type) y en caso de solicitarse un formato complemetario asocia
el módulo donde se establece el formato y la función de este que lo establece
========================================================================= `-- ]]
function formatoValorDato( valorDato, opciones, calificativos)
local funcion, mensajeError = obtenerFuncion(opciones['valor-función'] or opciones['value-function'] or opciones['funcion'], opciones['valor-módulo'] or opciones['modulo'])
if mensajeError then
return mensajeError
elseif funcion then
local opcionesEntidad = {}
for k, v in pairs(opciones) do
opcionesEntidad[k] = v
end
if mw.ustring.find(opciones['formatoTexto'],'mayúscula', plain ) and
(primera or (opciones['separador'] and opciones['separador'] ~= 'null') or
(opciones['lista'] and opciones['lista'] ~= '')) then
opcionesEntidad['mayúscula'] = 'sí'
primera = false
end
if mw.ustring.find(opciones['formatoTexto'],'cursivas', plain ) then
opcionesEntidad.cursivas = 'sí'
end
return funcion(valorDato.value, opcionesEntidad, marco, calificativos)
end
-- == Formatos por defecto en función del tipo de valor ==
-- * Con el resto de valores en propiedad
if valorDato.type == 'wikibase-entityid' then -- Tipo: Número de entidad que puede ser un ítem o propiedad
local opcionesEntidad = {}
if mw.ustring.find(opciones['formatoTexto'],'mayúscula', plain ) and
(primera or (opciones['separador'] and opciones['separador'] ~= 'null') or
(opciones['lista'] and opciones['lista'] ~= '')) then
opcionesEntidad['mayúscula'] = 'sí'
primera = false
end
opcionesEntidad.enlace = opciones.enlace
opcionesEntidad.etiqueta = opciones.etiqueta
opcionesEntidad['debeExistir'] = opciones['debeExistir']
if mw.ustring.find(opciones['formatoTexto'],'cursivas', plain ) then
opcionesEntidad.cursivas = 'sí'
end
return p.formatoIdEntidad( SelecionEntidadPorValor( valorDato.value ), opcionesEntidad)
elseif valorDato.type == 'string' then -- Tipo: Cadena de texto (string)
return valorDato.value
elseif valorDato.type == 'url' then --Tipo URL (dirección web)
return value.url
elseif valorDato.type == 'time' then -- Tipo: Fecha/hora
local opcionesFecha={['formatoFecha']=opciones['formatoFecha'],enlace=opciones.enlace}
if mw.ustring.find(opciones['formatoTexto'] or '','mayúscula', plain ) and primera then
opcionesFecha['mayúscula']='sí'
end
return require('Módulo:Wikidata/Fecha').FormateaFechaHora(valorDato.value, opcionesFecha, calificativos)
elseif valorDato.type == 'monolingualtext' then -- Tipo: monolingüe
if valorDato.value then
if opciones.idioma then
for k, v in pairs(valorDato) do
if v.language == opciones.idioma then
return v.text
end
end
else
return valorDato.value.text
end
else
return ''
end
elseif valorDato.type == 'quantity' then -- Tipo: Cantidad
return require('Módulo:Wikidata/Formatos').formatoUnidad(valorDato, opciones)
elseif valorDato.value['latitude'] and valorDato.value['longitude'] then -- Tipo: Coordenadas
-- * Para tipo coordenadas cuando se da como valor de propiedad: latitud, longitud o precisión
if TIPOLLP == 'latitud' then
return valorDato.value['latitude']
elseif TIPOLLP == 'longitud' then
return valorDato.value['longitude']
elseif TIPOLLP == 'precisión' then
return valorDato.value['precision']
else
local globo = require('Módulo:Wikidata/Globos')[valorDato.value.globe]
--Concatenamos los valores de latitud y longitud dentro de la plantilla Coord
if globo ~= 'earth' then
return marco:preprocess('{{coord|' .. valorDato.value['latitude'] .. '|' ..
valorDato.value['longitude'] .. '|globe:' .. globo .. '_type:' .. opciones.tipo .. '|display=' ..
opciones.display ..'|formato=' .. opciones.formato..'}}')
else
return marco:preprocess('{{coord|' .. valorDato.value['latitude'] .. '|' ..
valorDato.value['longitude'] .. '|type:' .. opciones.tipo .. '|display=' ..
opciones.display ..'|formato=' .. opciones.formato..'}}')
end
end
else
return formatoError( 'unknown-datavalue-type' ) -- Si no es de ninguno de estos tipos devolverá error valor desconocido
end
end
--[[ =========================================================================
Damos formato a los enlaces internos
========================================================================= `-- ]]
-- Opciones:
-- - enlace: Valores posibles 'sí' o 'no'
-- - mayúscula: Valores posibles 'sí' o 'no'
-- - cursivas: Valores posibles 'sí' o 'no'
function p.formatoIdEntidad(idEntidad, opciones)
local enlace = mw.wikibase.sitelink(idEntidad)
local etiqueta = mw.wikibase.label(idEntidad)
return require('Módulo:Wikidata/Formatos').enlazar(enlace, etiqueta, idEntidad, opciones)
end
--[[ =========================================================================
Función principal
========================================================================= `-- ]]
function p.Wikidata( frame )
TIPOLLP="" --Variable global para identificar los casos de latitud, longitud o precisión
marco = frame
local args = frame.args
if args.valor == 'no' then
return
end
local parentArgs = frame:getParent().args
-- Copiar los argumentos
local argumentos = {}
for k, v in pairs(args) do
argumentos[k] = v
end
for k, v in pairs(parentArgs) do
if not argumentos[k] then
argumentos[k] = v
end
end
if argumentos[1]=='longitud' or argumentos[1]=='latitud' or argumentos[1]=='precisión' then
TIPOLLP=argumentos[1]
marco.args[argumentos[1]]='P625'
end
--if true then return require('Módulo:Tablas').tostring(argumentos) end
-- No generar el valor de Wikidata si se ha facilitado un valor local y
-- el valor local es prioritario.
local valorWikidata;
if (args.prioridad ~= 'sí' or (args.importar and args.importar == 'no')) and args.valor and args.valor ~= '' then
valorWikidata = nil;
else
if not mw.wikibase.isValidEntityId(tostring(argumentos.entityId)) then
argumentos.entityId = mw.wikibase.getEntityIdForCurrentPage() or nil
end
valorWikidata = p.getPropiedad(argumentos, nil);
end
local categorias = '';
local namespace = frame:preprocess('{{NAMESPACENUMBER}}');
if (namespace == '0' and (not args.categorias or args.categorias ~= 'no') and
args.propiedad and string.upper(args.propiedad) ~= 'P18' -- P18: imagen de Commons
and string.upper(args.propiedad) ~= 'P41' -- P41: imagen de la bandera
and string.upper(args.propiedad) ~= 'P94' -- P94: imagen del escudo de armas
and string.upper(args.propiedad) ~= 'P109' -- P109: firma de persona
and string.upper(args.propiedad) ~= 'P154') then -- P154: logotipo
if valorWikidata and valorWikidata ~= '' and args.valor and args.valor ~= '' then
categorias = '[[Categoría:Wikipedia:Artículos con datos locales]]'
elseif valorWikidata and valorWikidata == '' and args.valor and args.valor ~= '' and
(not args.calificador or args.calificador == '') and
(not args.dato or args.dato == '' or args.dato ~= 'fuente') then
categorias = '[[Categoría:Wikipedia:Artículos con datos por trasladar a Wikidata]]'
end
end
if args.prioridad == 'sí' and valorWikidata and valorWikidata ~= '' then -- Si se da el valor sí a prioridad tendrá preferencia el valor de Wikidata
if args.importar and args.importar == 'no' and args.valor and args.valor ~= '' then
return args.valor .. categorias
elseif valorWikidata then
return valorWikidata .. categorias -- valor que sustituye al valor de Wikidata parámetro 2
else
return categorias
end
elseif args.valor and args.valor ~= '' then
return args.valor .. categorias
elseif args.importar and args.importar == 'no' then
return ''
elseif valorWikidata then -- Si el valor es nil salta una excepcion al concatenar
return valorWikidata .. categorias
else
return ''
end
end
function obtenerFuncion(funcion, nombreModulo)
if not funcion then
return
elseif type(funcion) == 'function' then -- Uso desde LUA
return funcion
elseif funcion == '' or not nombreModulo or nombreModulo == '' then
return
else -- Uso desde una plantilla
local modulo
if not nombreModulo or nombreModulo == '' or nombreModulo == 'Wikidata/Formatos' then
modulo = require(modulosTipos[funcion] or 'Módulo:Wikidata/Formatos')
else
modulo = require ('Módulo:' .. nombreModulo)
end
if not modulo then
return nil, formatoError( 'value-module-not-found' )
elseif not modulo[funcion] then
return nil, formatoError( 'value-function-not-found' )
else
return modulo[funcion]
end
end
end
function p.addLinkback(valorPropiedad, idEntidad, idPropiedad)
local lidEntidad
if valorPropiedad and idPropiedad then
lidEntidad= (idEntidad ~='' and idEntidad) or mw.wikibase.getEntityIdForCurrentPage()
end
if lidEntidad then
return valorPropiedad .. '<span class=\"wikidata-link lapiz noprint\"> [[Archivo:Blue_pencil.svg|Ver y modificar los datos en Wikidata|10px|baseline|alt=Ver y modificar los datos en Wikidata|enlace=https://www.wikidata.org/wiki/' .. lidEntidad .. '?uselang=es#' .. idPropiedad ..
']]</span>'
else
return valorPropiedad
end
end
function p.formatoLista(tabla, opciones)
if not tabla or not tabla[1] then
return
end
local tipo_lista = opciones.lista
local lapiz
if opciones.linkback == 'sí' and opciones.entityId and opciones.propiedad then
lapiz = '<span class=\"wikidata-link lapiz noprint\"> [[Archivo:Blue_pencil.svg|Ver y modificar los datos en Wikidata|10px|baseline|alt=Ver y modificar los datos en Wikidata|enlace=https://www.wikidata.org/wiki/' .. opciones.entityId .. '?uselang=es#' .. opciones.propiedad ..
']]</span>'
else
lapiz = ''
end
if not tabla[2] then
-- Si la tabla solo tiene un elemento devolverlo
return tabla[1] .. lapiz
end
if tipo_lista == 'no ordenada' or tipo_lista == 'ordenada' or tipo_lista == 'nobullet' then
local lista = mw.text.listToText( tabla, '</li><li>', '</li><li>' )
if tipo_lista == 'no ordenada' then
return '<ul><li>' .. lista .. lapiz .. '</li></ul>'
elseif tipo_lista == 'ordenada' then
return '<ol><li>' .. lista .. lapiz .. '</li></ol>'
else
return '<ul style="list-style-type:none;list-style-image:none;margin-left:0;padding-left:0"><li>' .. lista .. lapiz .. '</li></ul>'
end
else
local separadores = {
[''] = '',
[','] = ', ',
['null'] = ', ',
['no'] = ''
}
local conjunciones = {
[''] = '',
['y'] = ' y ',
['o'] = ' o ',
['null'] = ' y ',
['no'] = ''
}
local separador = opciones.separador
local conjuncion = opciones['conjunción']
if not separador then
separador = ', '
else
separador = separadores[separador] or separador
end
if not conjuncion then
conjuncion = ' y '
else
conjuncion = conjunciones[conjuncion] or conjuncion
end
if conjuncion == ' y ' and marco and tabla[2] then
conjuncion = ' ' .. marco:preprocess('{{y-e|{{Desvincular|' .. tabla[#tabla] .. '}}|sin texto}}') .. ' '
end
return mw.text.listToText( tabla, separador, conjuncion ) .. lapiz
end
end
-- Funciones existentes en otros módulos
function p.obtenerEtiquetaWikidata(entidad, fallback)
if not entidad then entidad = fallback end
if entidad and entidad.labels and entidad.labels.es then
return entidad.labels.es.value
end
end
function p.obtenerImagenWikidata(entidad, propiedad)
local imagen, valorImagen, piesDeImagen, k, pieDeImagen
if not entidad then
return
end
-- Obtener la primera imagen en Wikidata de la persona
local imagen = elementoTabla(entidad, 'claims', propiedad, 1)
--[[
-- Obtener el objeto de imagen, ya sea la primera, la última (WIP) o por fecha (WIP)
local imagen = (function()
local ImagenObj = elementoTabla(entidad, 'claims', idPropiedad)
if opciones.ordenar == 'por fecha' then
--
end
return elementoTabla(ImagenObj, 1)
end)()
--]]
if not imagen then
return
end
valorImagen = elementoTabla(imagen, 'mainsnak', 'datavalue', 'value')
piesDeImagen = elementoTabla(imagen, 'qualifiers', 'P2096')
-- Encontrar el pie en español
if piesDeImagen then
for k,pieDeImagen in pairs(piesDeImagen) do
if pieDeImagen.datavalue.value.language == 'es' then
return valorImagen, pieDeImagen.datavalue.value.text
end
end
end
-- Si no hay pie de imagen en español comprueba si hay fecha especificada para la imagen
piesDeImagen = elementoTabla(imagen, 'qualifiers', 'P585')
if piesDeImagen and piesDeImagen[1] then
return valorImagen, 'En ' .. require('Módulo:Wikidata/Fecha').FormateaFechaHora(piesDeImagen[1].datavalue.value, {['formatoFecha']='año',['enlace']='no'})
end
-- Sin pie de imagen en español
return valorImagen
end
function p.propiedad(entidad, idPropiedad, opciones)
if entidad and entidad.claims and entidad.claims[idPropiedad] then
if not opciones then
opciones = {['linkback']='sí'}
end
--[[
local ValorPosicional = (function()
if opciones['valor_posicional'] == 'último' then return -1 end
if type(opciones['valor_posicional']) == 'number' then return opciones['valor_posicional'] end
return 1
end)()
local ValorPosicionalCalif =(function()
if opciones['valor_posicional_calif'] == 'último' then return -1 end
if type(opciones['valor_posicional_calif']) == 'number' then return opciones['valor_posicional_calif'] end
return 1
end)()
local Calificador = opciones['calificador']
local Obj = (function()
local Obj = (function()
local Obj = elementoTabla(entidad, 'claims', idPropiedad)
if ValorPosicional == -1 then return elementoTabla(Obj, #Obj) end
return elementoTabla(Obj, ValorPosicional)
end)()
if Calificador then
Obj = (function()
local Obj = elementoTabla(Obj, 'qualifiers', Calificador)
if ValorPosicionalCalif == -1 then return elementoTabla(Obj, #Obj) end
return elementoTabla(Obj, ValorPosicionalCalif)
end)()
end
return Obj
end)()
Tipo = elementoTabla(Obj, 'datavalue', 'type')
-- Devolver el ID de la entidad, para propiedades de entidad
if opciones['formato'] == 'entidadID' then
return elementoTabla(Obj, 'datavalue', 'value', 'id')
end
-- Preparar para devolver el archivo más reciente en la propiedad. Buscar cómo hacerlo con los calificadores
if opciones['formato'] == 'archivo' then
if Calificador then return elementoTabla(Obj, 'datavalue', 'value') end
if not opciones['uno'] then opciones['uno'] = 'último' end
opciones['ordenar'] = 'por fecha'
end
-- Obtener la propiedad como cadena sin formato
if opciones['formato'] == 'cadena' then
opciones['linkback'] = 'no'
if Tipo == 'string' then
return elementoTabla(Obj, 'datavalue', 'value')
end
end
-- Devolver una cadena numérica correctamente formateada
if opciones['formato'] == 'número' then
if Tipo == 'quantity' then
return formatoNumero(elementoTabla(Obj, 'datavalue', 'value', 'amount'))
end
end
-- Devolver una cadena numérica con su unidad
if opciones['formato'] == 'unidad' then
if elementoTabla(entidad, 'claims', idPropiedad, 2, 'mainsnak', 'datavalue') then
return formatoNumero(elementoTabla(entidad, 'claims', idPropiedad, 1, 'mainsnak', 'datavalue', 'value', 'amount')) .. ' - ' .. numeroUnidad(elementoTabla(entidad, 'claims', idPropiedad, 2, 'mainsnak', 'datavalue'), opciones)
else
return numeroUnidad(elementoTabla(entidad, 'claims', idPropiedad, 1, 'mainsnak', 'datavalue'), opciones)
end
end
--]]
opciones.entityId = entidad.id
opciones.propiedad = idPropiedad
return p.getPropiedad(opciones, entidad.claims[idPropiedad])
end
end
function p.esUnValor(entidad, idPropiedad, idaBuscar)
if not entidad or not idPropiedad then
return false
end
local declaracion = elementoTabla(entidad, 'claims', idPropiedad)
local idBuscado
if not declaracion then
return false
end
for k,v in pairs(declaracion) do
idBuscado = elementoTabla(v,'mainsnak','datavalue','value','id')
if idBuscado == idaBuscar then
return true
end
end
return false
end
-- Obtener el objeto mw.language, para usar sus funciones en otros módulos
function p.language()
return es
end
return p
8d60da1b75ba0be6e3dd5ef282b9d803bb8ea32f
Módulo:String
828
44
87
86
2024-01-02T19:49:36Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
--[[
Este módulo está destinado a proporcionar acceso a las funciones de cadena (string) básicas.
]]
local str = {}
--[[
len
Parametros
s: La cadena a encontrar su longitud
]]
function str.len( frame )
local new_args = str._getParameters( frame.args, {'s'} );
local s = new_args['s'] or '';
return mw.ustring.len( s )
end
--[[
sub
Parametros
s: La cadena donde extraer la subcadena
i: La cadena donde extraer la subcadena.
j: Índice final de la subcadena, por defecto la longitud total, hasta el último carácter.
]]
function str.sub( frame )
local new_args = str._getParameters( frame.args, { 's', 'i', 'j' } );
local s = new_args['s'] or '';
local i = tonumber( new_args['i'] ) or 1;
local j = tonumber( new_args['j'] ) or -1;
local len = mw.ustring.len( s );
-- Convertir negativos para la comprobación de rango
if i < 0 then
i = len + i + 1;
end
if j < 0 then
j = len + j + 1;
end
if i > len or j > len or i < 1 or j < 1 then
return str._error( 'Índice fuera del rango de la cadena' );
end
if j < i then
return str._error( 'Índices de la cadena no ordenados' );
end
return mw.ustring.sub( s, i, j )
end
--[[
match
Parametros
s: cadena donde se hace la búsqueda
pattern: patrón o cadena a buscar.
start: índice de la cadena dónde empezar a buscar, por defecto 1, el primer carácter.
match: si se encuentran múltiples coincidencias, especifica cuál de ellas devolver. Por defecto es 1, l
la primera coincidencia encontrada. Un número negativo cuenta desde el final, por lo tanto
match = -1 es la última coincidencia.
plain: indica si el patrón debe interpretarse como texto limpio, por defecto 'false'. nomatch: en caso de
no encontrar ninguna coincidencia, devuelve el valor de "nomatch" en lugar de un error.
Si el número match o el índice start están fuera del rango de la cadena, entonces la función genera un error.
También genera un error si no encuentra ninguna coincidencia.
Con el parámetro global ignore_errors = true se suprime el
error y devuelve una cadena vacía.
]]
function str.match( frame )
local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} );
local s = new_args['s'] or '';
local start = tonumber( new_args['start'] ) or 1;
local plain_flag = str._getBoolean( new_args['plain'] or false );
local pattern = new_args['pattern'] or '';
local match_index = math.floor( tonumber(new_args['match']) or 1 );
local nomatch = new_args['nomatch'];
if s == '' then
return str._error( 'La cadena donde buscar está vacía' );
end
if pattern == '' then
return str._error( 'La cadena de búsqueda está vacía ' );
end
if math.abs(start) < 1 or math.abs(start) > mw.ustring.len( s ) then
return str._error( 'Índice d\'inicio fuera del rango de la cadena ' );
end
if match_index == 0 then
return str._error( 'Número de coincidencias fuera de rango' );
end
if plain_flag then
pattern = str._escapePattern( pattern );
end
local result
if match_index == 1 then
-- Encontrar la primera coincidencia es un caso sencillo.
result = mw.ustring.match( s, pattern, start )
else
if start > 1 then
s = mw.ustring.sub( s, start );
end
local iterator = mw.ustring.gmatch(s, pattern);
if match_index > 0 then
-- Búsqueda hacia adelante
for w in iterator do
match_index = match_index - 1;
if match_index == 0 then
result = w;
break;
end
end
else
-- Invierte búsqueda
local result_table = {};
local count = 1;
for w in iterator do
result_table[count] = w;
count = count + 1;
end
result = result_table[ count + match_index ];
end
end
if result == nil then
if nomatch == nil then
return str._error( 'Ninguna coincidencia encontrada' );
else
return nomatch;
end
else
return result;
end
end
--[[
pos
Parámetros
target: Cadena donde buscar.
pos: Índice del carácter a devolver.
]]
function str.pos( frame )
local new_args = str._getParameters( frame.args, {'target', 'pos'} );
local target_str = new_args['target'] or '';
local pos = tonumber( new_args['pos'] ) or 0;
if pos == 0 or math.abs(pos) > mw.ustring.len( target_str ) then
return str._error( 'Índice fuera del rango de la cadena' );
end
return mw.ustring.sub( target_str, pos, pos );
end
--[[
find
Parametros
source: Cadena donde buscar.
target: Cadena a buscar o patrón de búsqueda.
start: Índice de la cadena fuente donde empezar a buscar, por defecto 1, el primer carácter.
plain: Indica si la búsqueda debe interpretarse como texto limpio, de lo contrario como patrón Lua.
Por defecto es 'true'.
]]
function str.find( frame )
local new_args = str._getParameters( frame.args, {'source', 'target', 'start', 'plain' } );
local source_str = new_args['source'] or '';
local pattern = new_args['target'] or '';
local start_pos = tonumber(new_args['start']) or 1;
local plain = new_args['plain'] or true;
if source_str == '' or pattern == '' then
return 0;
end
plain = str._getBoolean( plain );
local start = mw.ustring.find( source_str, pattern, start_pos, plain )
if start == nil then
start = 0
end
return start
end
--[[
replace
Parámetros
source: Cadena donde buscar
pattern: Cadena de búsqueda o patrón a buscar
replace: Texto de reemplazo
count: Número de ocurrencias a reemplazar, por defecto todas.
plain: Indica si la búsqueda debe interpretarse como texto limpio, de lo contrario como patrón Lua. Por
defecto es 'true'
]]
function str.replace( frame )
local new_args = str._getParameters( frame.args, {'source', 'pattern', 'replace', 'count', 'plain' } );
local source_str = new_args['source'] or '';
local pattern = new_args['pattern'] or '';
local replace = new_args['replace'] or '';
local count = tonumber( new_args['count'] );
local plain = new_args['plain'] or true;
if source_str == '' or pattern == '' then
return source_str;
end
plain = str._getBoolean( plain );
if plain then
pattern = str._escapePattern( pattern );
replace = mw.ustring.gsub( replace, "%%", "%%%%" ); --Sólo es necesario secuencias de escape.
end
local result;
if count ~= nil then
result = mw.ustring.gsub( source_str, pattern, replace, count );
else
result = mw.ustring.gsub( source_str, pattern, replace );
end
return result;
end
function str.mayuscula(frame) -- Convierte en mayúsculas la primera letra que aparece en la edición de una cadena
local s = frame.args[1] or '';
if s ~= '' then
local cambio = {};
local modo = {};
if string.find(s, '|') ~= nil then -- Enlaces con etiqueta
modo = string.upper(string.match(s,'(|%a)'));
cambio = string.gsub(s,'|%a', modo,1);
elseif string.find(s, '[[]') ~= nil then -- Enlaces sin etiqueta
modo = string.upper(string.match(s,'^(..%a)'));
cambio = string.gsub(s,'^..%a', modo,1);
elseif string.match(s,'^%a') ~= nil then -- Sin enlace
modo = string.upper(string.match(s,'^(%a)'));
cambio = string.gsub(s,'^%a', modo, 1);
else
cambio = s;
end
return cambio;
end
end
--[[
Función de ayuda que rellena la lista de argumentos, para que el usuario pueda utilizar una combinación de
parámetros con nombre y sin nombre. Esto es importante porque los parámetros con nombre no funcionan igual
que los parámetros sin nombre cuando se encadenan recortes, y cuando se trata de cadenas
a veces se debe conservar o quitar espacios en blanco dependiendo de la aplicación.
]]
function str._getParameters( frame_args, arg_list )
local new_args = {};
local index = 1;
local value;
for i,arg in ipairs( arg_list ) do
value = frame_args[arg]
if value == nil then
value = frame_args[index];
index = index + 1;
end
new_args[arg] = value;
end
return new_args;
end
--[[
Función de ayuda para controlar los mensajes de error.
]]
function str._error( error_str )
local frame = mw.getCurrentFrame();
local error_category = frame.args.error_category or 'Errores detectados por el módulo String';
local ignore_errors = frame.args.ignore_errors or false;
local no_category = frame.args.no_category or false;
if str._getBoolean(ignore_errors) then
return '';
end
local error_str = '<strong class="error">Error del módulo String: ' .. error_str .. '</strong>';
if error_category ~= '' and not str._getBoolean( no_category ) then
error_str = '[[Categoría:Wikipedia:' .. error_category .. ']]' .. error_str;
end
return error_str;
end
--[[
Función de ayuda para interpretar cadenas booleanas.
]]
function str._getBoolean( boolean_str )
local boolean_value;
if type( boolean_str ) == 'string' then
boolean_str = boolean_str:lower();
if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0'
or boolean_str == '' then
boolean_value = false;
else
boolean_value = true;
end
elseif type( boolean_str ) == 'boolean' then
boolean_value = boolean_str;
else
error( 'Ningún valor booleano encontrado' );
end
return boolean_value
end
--[[
Función de ayuda que escapa a todos los caracteres de patrón para que puedan ser tratados
como texto sin formato.
]]
function str._escapePattern( pattern_str )
return mw.ustring.gsub( pattern_str, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1" );
end
return str
0b577d3d9638fbf3d4aec745dd55db4390087b7c
Plantilla:Cita noticia
10
45
89
88
2024-01-02T19:49:36Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#invoke:Citas|cita|ClaseCita=noticia}}</includeonly><noinclude>{{documentación}}</noinclude>
ce1f84e65c98f99a87c5971a0791745c9a7f53aa
Plantilla:Propiedad
10
46
91
90
2024-01-02T19:49:37Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{<includeonly>safesubst:</includeonly>#invoke:Wikidata
|Wikidata
|propiedad = {{{1|}}}
|valor = {{{2|}}}
|separador = {{{separador|{{{3|,}}}}}}
|valor-módulo = {{{módulo|{{{4|Wikidata/Formatos}}}}}}
|valor-función = {{{tipo de dato|{{{5|}}}}}}
|legend = {{{pie|{{{6|}}}}}}
|conjunción = {{{conjunción|{{{3|y}}}}}}
|calificador = {{{calificador|}}}
|dato = {{{dato|}}}
|uno = {{{uno|}}}
|rangoMayor = {{{rango mayor|{{{rango_mayor|}}}}}}
|formatoTexto = {{{formato texto|}}}
|formatoFecha = {{{formato fecha|}}}
|formatoUnidad = {{{formato unidad|}}}
|formatoCalificador = {{{formato calificador|}}}
|filtroCalificador = {{{filtro calificador|}}}
|filtroValor = {{{filtro valor|}}}
|enlace = {{{link|{{{enlace|}}}}}}
|etiqueta = {{{etiqueta|null}}}
|prioridad = {{{prioridad|}}}
|tipo = {{{tipo|city}}}
|display = {{{display|{{#if:{{{entidad|}}}|inline|inline,title}}}}}
|formato = {{{formato|dms}}}
|entityId = {{{entidad|}}}
|lista = {{{lista|}}}
|importar = {{{importar|}}}
|categorias = {{{categorías|}}}
|debeExistir = {{{debe existir|}}}
|propiedadValor= {{{propiedad_valor|}}}
|calificativo = {{{calificativo|}}}
|módulo calificativo = {{{módulo calificativo|}}}
|linkback = {{{linkback|}}}
|ordenar = {{{ordenar|}}}
|idioma = {{{idioma|}}}
}}<noinclude>{{documentación}}</noinclude>
6d04246290d22cec74cfdf85b22b12b6c0d69f2b
Plantilla:Lista desplegable
10
47
93
92
2024-01-02T19:49:38Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<div class="mw-collapsible mw-collapsed" style="font-size:95%;{{#if:{{{marco_estilo|}}}
|{{{marco_estilo|}}}
|border:none; padding: 0;
}}">
<div style="{{#if:{{{título_estilo|}}}|{{{título_estilo|}}}|width:100%; background:transparent; font-weight:bold" align="left}}">{{#if:{{{título|}}}{{{title|}}}
|{{{título|}}}{{{title|}}}
|Ver lista
}}</div><div class="mw-collapsible-content" style="{{#if:{{{lista_estilo|}}}
|{{{lista_estilo|}}}
|text-align:left;
}}"><!--
-->{{#if:{{{texto|}}} |{{{texto|}}}}}<!--
-->{{#if:{{{1|}}} |{{{1|}}} }}<!--
-->{{#if:{{{2|}}} |<br />{{{2|}}} }}<!--
-->{{#if:{{{3|}}} |<br />{{{3|}}} }}<!--
-->{{#if:{{{4|}}} |<br />{{{4|}}} }}<!--
-->{{#if:{{{5|}}} |<br />{{{5|}}} }}<!--
-->{{#if:{{{6|}}} |<br />{{{6|}}} }}<!--
-->{{#if:{{{7|}}} |<br />{{{7|}}} }}<!--
-->{{#if:{{{8|}}} |<br />{{{8|}}} }}<!--
-->{{#if:{{{9|}}} |<br />{{{9|}}} }}<!--
-->{{#if:{{{10|}}} |<br />{{{10|}}} }}<!--
-->{{#if:{{{11|}}} |<br />{{{11|}}} }}<!--
-->{{#if:{{{12|}}} |<br />{{{12|}}} }}<!--
-->{{#if:{{{13|}}} |<br />{{{13|}}} }}<!--
-->{{#if:{{{14|}}} |<br />{{{14|}}} }}<!--
-->{{#if:{{{15|}}} |<br />{{{15|}}} }}<!--
-->{{#if:{{{16|}}} |<br />{{{16|}}} }}<!--
-->{{#if:{{{17|}}} |<br />{{{17|}}} }}<!--
-->{{#if:{{{18|}}} |<br />{{{18|}}} }}<!--
-->{{#if:{{{19|}}} |<br />{{{19|}}} }}<!--
-->{{#if:{{{20|}}} |<br />{{{20|}}} }}<!--
-->{{#if:{{{21|}}} |<br />{{{21|}}} }}<!--
-->{{#if:{{{22|}}} |<br />{{{22|}}} }}<!--
-->{{#if:{{{23|}}} |<br />{{{23|}}} }}<!--
-->{{#if:{{{24|}}} |<br />{{{24|}}} }}<!--
-->{{#if:{{{25|}}} |<br />{{{25|}}} }}<!--
-->{{#if:{{{26|}}} |<br />{{{26|}}} }}<!--
-->{{#if:{{{27|}}} |<br />{{{27|}}} }}<!--
-->{{#if:{{{28|}}} |<br />{{{28|}}} }}<!--
-->{{#if:{{{29|}}} |<br />{{{29|}}} }}<!--
-->{{#if:{{{30|}}} |<br />{{{30|}}} }}<!--
-->{{#if:{{{31|}}} |<br />{{{31|}}} }}<!--
-->{{#if:{{{32|}}} |<br />{{{32|}}} }}<!--
-->{{#if:{{{33|}}} |<br />{{{33|}}} }}<!--
-->{{#if:{{{34|}}} |<br />{{{34|}}} }}<!--
-->{{#if:{{{35|}}} |<br />{{{35|}}} }}<!--
-->{{#if:{{{36|}}} |<br />{{{36|}}} }}<!--
-->{{#if:{{{37|}}} |<br />{{{37|}}} }}<!--
-->{{#if:{{{38|}}} |<br />{{{38|}}} }}<!--
-->{{#if:{{{39|}}} |<br />{{{39|}}} }}<!--
-->{{#if:{{{40|}}} |<br />{{{40|}}} }}<!--
-->{{#if:{{{41|}}} |<br />{{{41|}}} }}<!--
-->{{#if:{{{42|}}} |<br />{{{42|}}} }}<!--
-->{{#if:{{{43|}}} |<br />{{{43|}}} }}<!--
-->{{#if:{{{44|}}} |<br />{{{44|}}} }}<!--
-->{{#if:{{{45|}}} |<br />{{{45|}}} }}<!--
-->{{#if:{{{46|}}} |<br />{{{46|}}} }}<!--
-->{{#if:{{{47|}}} |<br />{{{47|}}} }}<!--
-->{{#if:{{{48|}}} |<br />{{{48|}}} }}<!--
-->{{#if:{{{49|}}} |<br />{{{49|}}} }}<!--
-->{{#if:{{{50|}}} |<br />{{{50|}}} }}<!--
-->{{#if:{{{51|}}} |<br />{{{51|}}} }}<!--
-->{{#if:{{{52|}}} |<br />{{{52|}}} }}<!--
-->{{#if:{{{53|}}} |<br />{{{53|}}} }}<!--
-->{{#if:{{{54|}}} |<br />{{{54|}}} }}<!--
-->{{#if:{{{55|}}} |<br />{{{55|}}} }}<!--
-->{{#if:{{{56|}}} |<br />{{{56|}}} }}<!--
-->{{#if:{{{57|}}} |<br />{{{57|}}} }}<!--
-->{{#if:{{{58|}}} |<br />{{{58|}}} }}<!--
-->{{#if:{{{59|}}} |<br />{{{59|}}} }}<!--
-->{{#if:{{{60|}}} |<br />{{{60|}}} }}<!--
-->{{#if:{{{61|}}} |<br />{{{61|}}} }}<!--
-->{{#if:{{{62|}}} |<br />{{{62|}}} }}<!--
-->{{#if:{{{63|}}} |<br />{{{63|}}} }}<!--
-->{{#if:{{{64|}}} |<br />{{{64|}}} }}<!--
-->{{#if:{{{65|}}} |<br />{{{65|}}} }}<!--
-->{{#if:{{{66|}}} |<br />{{{66|}}} }}<!--
-->{{#if:{{{67|}}} |<br />{{{67|}}} }}<!--
-->{{#if:{{{68|}}} |<br />{{{68|}}} }}<!--
-->{{#if:{{{69|}}} |<br />{{{69|}}} }}<!--
-->{{#if:{{{70|}}} |<br />{{{70|}}} }}<!--
-->{{#if:{{{71|}}} |<br />{{{71|}}} }}<!--
-->{{#if:{{{72|}}} |<br />{{{72|}}} }}<!--
-->{{#if:{{{73|}}} |<br />{{{73|}}} }}<!--
-->{{#if:{{{74|}}} |<br />{{{74|}}} }}<!--
-->{{#if:{{{75|}}} |<br />{{{75|}}} }}<!--
-->{{#if:{{{76|}}} |<br />{{{76|}}} }}<!--
-->{{#if:{{{77|}}} |<br />{{{77|}}} }}<!--
-->{{#if:{{{78|}}} |<br />{{{78|}}} }}<!--
-->{{#if:{{{79|}}} |<br />{{{79|}}} }}<!--
-->{{#if:{{{80|}}} |<br />{{{80|}}} }}<!--
-->{{#if:{{{81|}}} |<br />{{{81|}}} }}<!--
-->{{#if:{{{82|}}} |<br />{{{82|}}} }}<!--
-->{{#if:{{{83|}}} |<br />{{{83|}}} }}<!--
-->{{#if:{{{84|}}} |<br />{{{84|}}} }}<!--
-->{{#if:{{{85|}}} |<br />{{{85|}}} }}<!--
-->{{#if:{{{86|}}} |<br />{{{86|}}} }}<!--
-->{{#if:{{{87|}}} |<br />{{{87|}}} }}<!--
-->{{#if:{{{88|}}} |<br />{{{88|}}} }}<!--
-->{{#if:{{{89|}}} |<br />{{{89|}}} }}<!--
-->{{#if:{{{90|}}} |<br />{{{90|}}} }}<!--
-->{{#if:{{{91|}}} |<br />{{{91|}}} }}<!--
-->{{#if:{{{92|}}} |<br />{{{92|}}} }}<!--
-->{{#if:{{{93|}}} |<br />{{{93|}}} }}<!--
-->{{#if:{{{94|}}} |<br />{{{94|}}} }}<!--
-->{{#if:{{{95|}}} |<br />{{{95|}}} }}<!--
-->{{#if:{{{96|}}} |<br />{{{96|}}} }}<!--
-->{{#if:{{{97|}}} |<br />{{{97|}}} }}<!--
-->{{#if:{{{98|}}} |<br />{{{98|}}} }}<!--
-->{{#if:{{{99|}}} |<br />{{{99|}}} }}<!--
-->{{#if:{{{100|}}} |<br />{{{100|}}} }}<!--
-->{{#if:{{{101|}}} |<br />{{{101|}}} }}<!--
-->{{#if:{{{102|}}} |<br />{{{102|}}} }}<!--
-->{{#if:{{{103|}}} |<br />{{{103|}}} }}<!--
-->{{#if:{{{104|}}} |<br />{{{104|}}} }}<!--
-->{{#if:{{{105|}}} |<br />{{{105|}}} }}<!--
-->{{#if:{{{106|}}} |<br />{{{106|}}} }}<!--
-->{{#if:{{{107|}}} |<br />{{{107|}}} }}<!--
-->{{#if:{{{108|}}} |<br />{{{108|}}} }}<!--
-->{{#if:{{{109|}}} |<br />{{{109|}}} }}<!--
-->{{#if:{{{110|}}} |<br />{{{100|}}} }}<!--
-->{{#if:{{{111|}}} |<br />{{{111|}}} }}<!--
-->{{#if:{{{112|}}} |<br />{{{112|}}} }}<!--
-->{{#if:{{{113|}}} |<br />{{{113|}}} }}<!--
-->{{#if:{{{114|}}} |<br />{{{114|}}} }}<!--
-->{{#if:{{{115|}}} |<br />{{{115|}}} }}<!--
-->{{#if:{{{116|}}} |<br />{{{116|}}} }}<!--
-->{{#if:{{{117|}}} |<br />{{{117|}}} }}<!--
-->{{#if:{{{118|}}} |<br />{{{118|}}} }}<!--
-->{{#if:{{{119|}}} |<br />{{{119|}}} }}<!--
-->{{#if:{{{120|}}} |<br />{{{120|}}} }}<!--
-->{{#if:{{{121|}}} |<br />{{{121|}}} }}<!--
-->{{#if:{{{122|}}} |<br />{{{122|}}} }}<!--
-->{{#if:{{{123|}}} |<br />{{{123|}}} }}<!--
-->{{#if:{{{124|}}} |<br />{{{124|}}} }}<!--
-->{{#if:{{{125|}}} |<br />{{{125|}}} }}<!--
-->{{#if:{{{126|}}} |<br />{{{126|}}} }}<!--
-->{{#if:{{{127|}}} |<br />{{{127|}}} }}<!--
-->{{#if:{{{128|}}} |<br />{{{128|}}} }}<!--
-->{{#if:{{{129|}}} |<br />{{{129|}}} }}<!--
-->{{#if:{{{130|}}} |<br />{{{130|}}} }}<!--
--></div>
</div><noinclude>{{documentación}}</noinclude>
5936f694aa2921ce9a0501306c70a62fe9785d4e
Plantilla:Obtener idioma
10
48
95
94
2024-01-02T19:49:38Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#switch:{{{1}}}
|aa = afar
|ab = abjaso
|ace = achenés
|ae = avéstico
|af = afrikáans
|ain = ainu
|ak = acano
|akz = alabama
|alc = kawésqar
|als = alemánico
|am = amhárico
|an = aragonés
|ang = anglosajón
|ar = árabe
|arc = arameo
|arn = mapudungun
|arz = árabe egipcio
|as = asamés
|ast = asturiano
|av = avar
|ay = aimara
|az = azerí
|ba = baskir
|bar = austro-bávaro
|bat-smg = samogitiano
|bcl = bicolano central
|be = bielorruso
|be-x-old = bielorruso (taraškievica)
|bem = bemba
|bg = búlgaro
|bh = biharí
|bi = bislama
|bjn = banjarí
|bm = bambara
|bn = bengalí
|bo = tibetano
|bpy = bishnupriya manipuri
|br = bretón
|bs = bosnio
|bug = buginés
|bxr = buriato
|ca = catalán
|cak = cackchiquel
|cbk-zam = chabacano de Zamboanga
|cbs = cashinahua
|ce = checheno
|ceb = cebuano
|chr = chamorro
|cho = choctaw
|chr = cheroqui
|chy = cheyenne
|ckb = soraní
|clm = klallam
|co = corso
|com = comanche
|cr = cree
|crh = tártaro de Crimea
|cs = checo
|csb = casubio
|cu = eslavo
|cv = chuvasio
|cy = galés
|da = danés
|de = alemán
|diq = zazaki
|dsb = bajo sorabo
|dv = dhivehi
|dz = dzongkha
|ee = ewe
|el = griego
|eml = emiliano-romañol
|en = inglés
|eo = esperanto
|es = español
|et = estonio
|eu = euskera
|ext = extremeño
|fa = persa
|ff = fula
|fi = finés
|fiu-vro = võro
|fj = fiyiano
|fo = feroés
|fr = francés
|frp = franco-provenzal
|frr = frisón septentrional
|fur = friulano
|fy = frisón
|ga = gaélico irlandés
|gag = gagauzo
|gan = chino gan
|gd = gaélico escocés
|gl = gallego
|glk = gileki
|gn = guaraní
|got = gótico
|grc = griego antiguo
|gu = guyaratí
|gv = manés
|ha = hausa
|hak = chino hakka
|haw = hawaiano
|he = hebreo
|hi = hindi
|hif = hindi de Fiyi
|ho = hiri motu
|hr = croata
|hsb = alto sorabo
|ht = criollo haitiano
|hu = húngaro
|hy = armenio
|hz = herero
|ia = interlingua
|id = indonesio
|ie = occidental
|ig = igbo
|ii = yi
|ik = iñupiaq
|ilo = ilocano
|io = ido
|is = islandés
|it = italiano
|iu = inuktitut
|ja = japonés
|jbo = lojban
|jv = javanés
|ka = georgiano
|kaa = karakalpako
|kab = cabilio
|kbd = cabardiano
|kg = kikongo
|ki = kikuyu
|kj = kuanyama
|kk = kazajo
|kl = groenlandés
|km = camboyano
|kn = canarés
|ko = coreano
|koi = komi permio
|krc = karachayo-bálkaro
|krl = carelio
|ks = cachemir
|ksh = fráncico ripuario
|ku = kurdo
|kuz = kunza
|kv = komi
|kw = córnico
|ky = kirguís
|la = latín
|lad = judeoespañol
|lb = luxemburgués
|lbe = lak
|lez = lezgui
|lg = luganda
|li = limburgués
|lij = ligur
|lmo = lombardo
|ln = lingala
|lo = laosiano
|lt = lituano
|ltg = latgalio
|lv = letón
|map-bms = banyumasan
|mdf = moksha
|mg = malgache
|mh = marshalés
|mhr = mari oriental
|mi = maorí
|min = minangkabau
|miq = misquito
|mit = mixteco
|mk = macedonio
|ml = malayalam
|mn = mongol
|mnc = manchú
|mo = moldavo
|mr = maratí
|mrj = mari occidental
|ms = malayo
|mt = maltés
|mus = creek
|mwl = mirandés
|my = birmano
|myv = erzya
|mzn = mazandaraní
|na = naruano
|nah = náhuatl
|nap = napolitano
|nci = náhuatl clásico
|nds = bajo sajón
|nds-nl = bajo sajón neerlandés
|ne = nepalés
|new = nepal Bhasa
|ng = ndonga
|nl = neerlandés
|nn = noruego (nynorsk)
|no = noruego (bokmål)
|nov = novial
|nso = sotho norteño
|nrm = normando
|nv = navajo
|ny = chichewa
|oc = occitano
|om = oromo
|or = oriya
|os = osetio
|osp = castellano antiguo
|pa = panyabí
|pag = pangasinense
|pam = pampango
|pap = papiamento
|pcd = picardo
|pdc = alemán de Pensilvania
|pfl = palatino
|pi = pali
|pih = pitcairnés-norfolkense
|pl = polaco
|pms = piamontés
|pnb = panyabí occidental
|pnt = póntico
|ppl = pipil
|ps = pastún
|pt = portugués
|pua = purépecha
|qu = quechua
|quc = quiché
|rap = rapa nui
|rhg = rohingya
|rm = romanche
|rmy = romaní
|rn = kirundi
|ro = rumano
|roa-rup = arumano
|roa-tara = tarantino
|ru = ruso
|rue = rusino
|rw = kinyarwanda
|sa = sánscrito
|sah = yakuto
|sc = sardo
|scn = siciliano
|sco = escocés
|sd = sindhi
|se = sami septentrional
|sg = sango
|sh = serbocroata
|si = cingalés
|simple = inglés simple
|sk = eslovaco
|sl = esloveno
|sm = samoano
|sn = shona
|so = somalí
|sq = albanés
|sr = serbio
|sm = sranan
|ss = suazi
|st = sesotho
|stq = frisón del Saterland
|su = sondanés
|sv = sueco
|sw = suajili
|szl = silesiano
|ta = tamil
|te = telugú
|teh = tehuelche
|tet = tetun
|tg = tayiko
|th = tailandés
|ti = tigriña
|tk = turcomano
|tl = tagalo
|tli = tlingit
|tn = setsuana
|to = tongano
|tpi = tok pisin
|tr = turco
|ts = tsonga
|tt = tártaro
|tum = tumbuka
|tw = twi
|ty = tahitiano
|udm = udmurto
|ug = uigur
|uga = ugarítico
|uk = ucraniano
|ur = urdu
|uz = uzbeko
|val = valenciano
|ve = venda
|vec = véneto
|vep = vepsio
|vi = vietnamita
|vls = flamenco occidental
|vo = volapük
|wa = valón
|war = samareño
|wo = wólof
|wuu = chino wu
|xal = calmuco
|xh = xhosa
|xmf = megreliano
|yag = yagán
|yi = yidis
|yo = yoruba
|yua = maya yucateco
|za = chuang
|zea = zelandés
|zh = chino
|zh-classical = chino clásico
|zh-min-nan = min nan
|zh-yue = cantonés
|zu = zulú
|#default = <span class="error" style="font-size:90%">Idioma no definido en la plantilla {{ep|obtener idioma}}.</span>
}}</includeonly><noinclude>{{documentación}}</noinclude>
a6aae0194bd7e5292e5c8a0d60370d5a93f7d0fb
Plantilla:Cita web
10
49
97
96
2024-01-02T19:49:39Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#invoke:Citas | cita|ClaseCita=web}}</includeonly><noinclude>{{documentación}}</noinclude>
eb5095922f3697625ce9d7746828d5e6aeac86c1
Módulo:Citas
828
50
99
98
2024-01-02T19:49:39Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local z = {
error_categories = {};
error_ids = {};
message_tail = {};
}
-- Include translation message hooks, ID and error handling configuration settings.
--local cfg = mw.loadData( 'Mdódulo:Citas/Configuración/pruebas' );
-- Contains a list of all recognized parameters
--local whitelist = mw.loadData( 'Módulo:Citas/Whitelist/pruebas' );
--local dates = require('Módulo:Citas/ValidaciónFechas/pruebas').dates -- location of date validation code
--Módulo para formatear las fechas
local DateModule = require('Módulo:Date')._Date
-- Whether variable is set or not
function is_set( var )
return not (var == nil or var == '');
end
-- First set variable or nil if none
function first_set(...)
local list = {...};
for _, var in pairs(list) do
if is_set( var ) then
return var;
end
end
end
-- Whether needle is in haystack
function inArray( needle, haystack )
if needle == nil then
return false;
end
for n,v in ipairs( haystack ) do
if v == needle then
return n;
end
end
return false;
end
--[[
Formatea una fecha para que se devuelva de la siguiente forma: "1 de enero de 2020"
Formats a date so it is returned as follows: "1 de enero de 2020"
]]
function format_date(date_string)
function dateFormatter(text)
return DateModule(text):text('%-d de %B de %-Y')
end
local stat, res = pcall(dateFormatter, date_string)
if stat then
return res
else
return date_string
end
end
--[[
Categorize and emit an error message when the citation contains one or more deprecated parameters. Because deprecated parameters (currently |day=, |month=,
|coauthor=, and |coauthors=) aren't related to each other and because these parameters may be concatenated into the variables used by |date= and |author#= (and aliases)
details of which parameter caused the error message are not provided. Only one error message is emitted regarless of the number of deprecated parameters in the citation.
]]
function deprecated_parameter( name )
-- table.insert( z.message_tail, { seterror( 'deprecated_params', {error_message}, true ) } ); -- add error message
table.insert( z.message_tail, { seterror( 'deprecated_params', { name }, true ) } ); -- add error message
end
-- Populates numbered arguments in a message string using an argument table.
function substitute( msg, args )
-- return args and tostring( mw.message.newRawMessage( msg, args ) ) or msg;
return args and mw.message.newRawMessage( msg, args ):plain() or msg;
end
--[[
Apply kerning to open the space between the quote mark provided by the Module and a leading or trailing quote mark contained in a |title= or |chapter= parameter's value.
This function will positive kern either single or double quotes:
"'Unkerned title with leading and trailing single quote marks'"
" 'Kerned title with leading and trailing single quote marks' " (in real life the kerning isn't as wide as this example)
]]
function kern_quotes (str)
local left='<span style="padding-left:0.2em;">%1</span>'; -- spacing to use when title contains leading single or double quote mark
local right='<span style="padding-right:0.2em;">%1</span>'; -- spacing to use when title contains trailing single or double quote mark
if str:match ("^[\"\'][^\']") then
str = string.gsub( str, "^[\"\']", left, 1 ); -- replace (captured) leading single or double quote with left-side <span>
end
if str:match ("[^\'][\"\']$") then
str = string.gsub( str, "[\"\']$", right, 1 ); -- replace (captured) trailing single or double quote with right-side <span>
end
return str;
end
-- Wraps a string using a message_list configuration taking one argument
function wrap( key, str, lower )
if not is_set( str ) then
return "";
elseif inArray( key, { 'italic-title', 'trans-italic-title' } ) then
str = safeforitalics( str );
end
if lower == true then
return substitute( cfg.messages[key]:lower(), {str} );
else
return substitute( cfg.messages[key], {str} );
end
end
--[[
Argument wrapper. This function provides support for argument
mapping defined in the configuration file so that multiple names
can be transparently aliased to single internal variable.
]]
function argument_wrapper( args )
local origin = {};
return setmetatable({
ORIGIN = function( self, k )
local dummy = self[k]; --force the variable to be loaded.
return origin[k];
end
},
{
__index = function ( tbl, k )
if origin[k] ~= nil then
return nil;
end
local args, list, v = args, cfg.aliases[k];
if type( list ) == 'table' then
v, origin[k] = selectone( args, list, 'redundant_parameters' );
if origin[k] == nil then
origin[k] = ''; -- Empty string, not nil
end
elseif list ~= nil then
v, origin[k] = args[list], list;
else
-- maybe let through instead of raising an error?
-- v, origin[k] = args[k], k;
error( cfg.messages['unknown_argument_map'] );
end
-- Empty strings, not nil;
if v == nil then
v = cfg.defaults[k] or '';
origin[k] = '';
end
tbl = rawset( tbl, k, v );
return v;
end,
});
end
--[[
Looks for a parameter's name in the whitelist.
Parameters in the whitelist can have three values:
true - active, supported parameters
false - deprecated, supported parameters
nil - unsupported parameters
]]
function validate( name )
local name = tostring( name );
local state = whitelist.basic_arguments[ name ];
-- Normal arguments
if true == state then return true; end -- valid actively supported parameter
if false == state then
deprecated_parameter ( name ); -- parameter is deprecated but still supported
return true;
end
-- Arguments with numbers in them
name = name:gsub( "%d+", "#" ); -- replace digit(s) with # (last25 becomes last#
state = whitelist.numbered_arguments[ name ];
if true == state then return true; end -- valid actively supported parameter
if false == state then
deprecated_parameter ( name ); -- parameter is deprecated but still supported
return true;
end
return false; -- Not supported because not found or name is set to nil
end
-- Formats a comment for error trapping
function errorcomment( content, hidden )
return wrap( hidden and 'hidden-error' or 'visible-error', content );
end
--[[
Sets an error condition and returns the appropriate error message. The actual placement
of the error message in the output is the responsibility of the calling function.
]]
function seterror( error_id, arguments, raw, prefix, suffix )
local error_state = cfg.error_conditions[ error_id ];
prefix = prefix or "";
suffix = suffix or "";
if error_state == nil then
error( cfg.messages['undefined_error'] );
elseif is_set( error_state.category ) then
table.insert( z.error_categories, error_state.category );
end
local message = substitute( error_state.message, arguments );
message = message .. " ([[" .. cfg.messages['help page link'] ..
"#" .. error_state.anchor .. "|" ..
cfg.messages['help page label'] .. "]])";
z.error_ids[ error_id ] = true;
if inArray( error_id, { 'bare_url_missing_title', 'trans_missing_title' } )
and z.error_ids['citation_missing_title'] then
return '', false;
end
message = table.concat({ prefix, message, suffix });
if raw == true then
return message, error_state.hidden;
end
return errorcomment( message, error_state.hidden );
end
-- Formats a wiki style external link
function externallinkid(options)
local url_string = options.id;
if options.encode == true or options.encode == nil then
url_string = mw.uri.encode( url_string );
end
return wrap( 'id', internallink(options.link, options.label) ..
(options.separator or " ") .. mw.ustring.format( '[%s%s%s %s]',
options.prefix, url_string, options.suffix or "",
mw.text.nowiki(options.id)
));
end
-- Formats a wiki style internal link
function internallinkid(options)
return wrap( 'id', internallink(options.link, options.label) ..
(options.separator or " ") .. mw.ustring.format( '[[%s%s%s|%s]]',
options.prefix, options.id, options.suffix or "",
mw.text.nowiki(options.id)
));
end
-- Format an internal link, if link is really set
function internallink( link, label )
if link and link ~= '' then
return mw.ustring.format( '[[%s|%s]]', link, label )
else
return label
end
end
-- Format an external link with error checking
function externallink( URL, label, source )
local error_str = "";
if not is_set( label ) then
label = URL;
if is_set( source ) then
error_str = seterror( 'bare_url_missing_title', { wrap( 'parameter', source ) }, false, " " );
else
error( cfg.messages["bare_url_no_origin"] );
end
end
if not checkurl( URL ) then
error_str = seterror( 'bad_url', {}, false, " " ) .. error_str;
elseif mw.title.getCurrentTitle():inNamespaces(0, 100, 104) and
not mw.title.getCurrentTitle().text:match('Wikipedia') and
URL:match('//[%a%.%-]+%.wikipedia%.org') then
error_str = seterror( 'bad_url_autorreferencia', {}, false, " " ) .. error_str;
end
return table.concat({ "[", URL, " ", safeforurl( label ), "]", error_str });
end
--[[--------------------------< N O R M A L I Z E _ L C C N >--------------------------------------------------
lccn normalization (http://www.loc.gov/marc/lccn-namespace.html#normalization)
1. Remove all blanks.
2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash.
3. If there is a hyphen in the string:
a. Remove it.
b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out):
1. All these characters should be digits, and there should be six or less. (not done in this function)
2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six.
Returns a normalized lccn for lccn() to validate. There is no error checking (step 3.b.1) performed in this function.
]]
local function normalize_lccn (lccn)
lccn = lccn:gsub ("%s", ""); -- 1. strip whitespace
if nil ~= string.find (lccn,'/') then
lccn = lccn:match ("(.-)/"); -- 2. remove forward slash and all character to the right of it
end
local prefix
local suffix
prefix, suffix = lccn:match ("(.+)%-(.+)"); -- 3.a remove hyphen by splitting the string into prefix and suffix
if nil ~= suffix then -- if there was a hyphen
suffix=string.rep("0", 6-string.len (suffix)) .. suffix; -- 3.b.2 left fill the suffix with 0s if suffix length less than 6
lccn=prefix..suffix; -- reassemble the lccn
end
return lccn;
end
--[[
Format LCCN link and do simple error checking. LCCN is a character string 8-12 characters long. The length of the LCCN dictates the character type of the first 1-3 characters; the
rightmost eight are always digits. http://info-uri.info/registry/OAIHandler?verb=GetRecord&metadataPrefix=reg&identifier=info:lccn/
length = 8 then all digits
length = 9 then lccn[1] is alpha
length = 10 then lccn[1] and lccn[2] are both alpha or both digits
length = 11 then lccn[1] is alpha, lccn[2] and lccn[3] are both alpha or both digits
length = 12 then lccn[1] and lccn[2] are both alpha
]]
function lccn(id)
local handler = cfg.id_handlers['LCCN'];
local err_cat = ''; -- presume that LCCN is valid
id = normalize_lccn (id);
local len = id:len(); -- get the length of the lccn
if 8 == len then
if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits)
err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message
end
elseif 9 == len then -- LCCN should be adddddddd
if nil == id:match("%a%d%d%d%d%d%d%d%d") then -- does it match our pattern?
err_cat = ' ' .. seterror( 'bad_lccn' ); -- set an error message
end
elseif 10 == len then -- LCCN should be aadddddddd or dddddddddd
if id:match("[^%d]") then -- if LCCN has anything but digits (nil if only digits) ...
if nil == id:match("^%a%a%d%d%d%d%d%d%d%d") then -- ... see if it matches our pattern
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message
end
end
elseif 11 == len then -- LCCN should be aaadddddddd or adddddddddd
if not (id:match("^%a%a%a%d%d%d%d%d%d%d%d") or id:match("^%a%d%d%d%d%d%d%d%d%d%d")) then -- see if it matches one of our patterns
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message
end
elseif 12 == len then -- LCCN should be aadddddddddd
if not id:match("^%a%a%d%d%d%d%d%d%d%d%d%d") then -- see if it matches our pattern
err_cat = ' ' .. seterror( 'bad_lccn' ); -- no match, set an error message
end
else
err_cat = ' ' .. seterror( 'bad_lccn' ); -- wrong length, set an error message
end
return externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;
end
--[[
Format PMID and do simple error checking. PMIDs are sequential numbers beginning at 1 and counting up. This code checks the PMID to see that it
contains only digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically as more PMIDs are issued.
]]
function pmid(id)
local test_limit = 45000000; -- update this value as PMIDs approach
local handler = cfg.id_handlers['PMID'];
local err_cat = ''; -- presume that PMID is valid
if id:match("[^%d]") then -- if PMID has anything but digits
err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message
else -- PMID is only digits
local id_num = tonumber(id); -- convert id to a number for range testing
if 1 > id_num or test_limit < id_num then -- if PMID is outside test limit boundaries
err_cat = ' ' .. seterror( 'bad_pmid' ); -- set an error message
end
end
return externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;
end
--[[
Determines if a PMC identifier's online version is embargoed. Compares the date in |embargo= against today's date. If embargo date is
in the future, returns true; otherwse, returns false because the embargo has expired or |embargo= not set in this cite.
]]
function is_embargoed(embargo)
if is_set(embargo) then
local lang = mw.getContentLanguage();
local good1, embargo_date, good2, todays_date;
good1, embargo_date = pcall( lang.formatDate, lang, 'U', embargo );
good2, todays_date = pcall( lang.formatDate, lang, 'U' );
if good1 and good2 and tonumber( embargo_date ) >= tonumber( todays_date ) then --is embargo date is in the future?
return true; -- still embargoed
end
end
return false; -- embargo expired or |embargo= not set
end
--[[
Format a PMC, do simple error checking, and check for embargoed articles.
The embargo parameter takes a date for a value. If the embargo date is in the future
the PMC identifier will not be linked to the article. If the embargo specifies a date in the past, or if it is empty or omitted, then
the PMC identifier is linked to the article through the link at cfg.id_handlers['PMC'].prefix.
PMCs are sequential numbers beginning at 1 and counting up. This code checks the PMC to see that it contains only digits and is less
than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued.
]]
function pmc(id, embargo)
local test_limit = 12000000; -- update this value as PMCs approach
local handler = cfg.id_handlers['PMC'];
local err_cat = ''; -- presume that PMC is valid
local text;
if id:match("^PMC%d") then
id = id:sub(4, j) -- remove 'PMC' preffix if given
end
if id:match("[^%d]") then -- if PMC has anything but digits
err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message
else -- PMC is only digits
local id_num = tonumber(id); -- convert id to a number for range testing
if 1 > id_num or test_limit < id_num then -- if PMC is outside test limit boundaries
err_cat = ' ' .. seterror( 'bad_pmc' ); -- set an error message
end
end
if is_embargoed(embargo) then
text="[[" .. handler.link .. "|" .. handler.label .. "]]:" .. handler.separator .. id .. err_cat; --still embargoed so no external link
else
text = externallinkid({link = handler.link, label = handler.label, --no embargo date, ok to link to article
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode}) .. err_cat;
end
return text;
end
-- Formats a DOI and checks for DOI errors.
-- DOI names contain two parts: prefix and suffix separated by a forward slash.
-- Prefix: directory indicator '10.' followed by a registrant code
-- Suffix: character string of any length chosen by the registrant
-- This function checks a DOI name for: prefix/suffix. If the doi name contains spaces or endashes,
-- or, if it ends with a period or a comma, this function will emit a bad_doi error message.
-- DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash,
-- and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely if ever used in doi names.
function doi(id, inactive)
local cat = ""
local handler = cfg.id_handlers['DOI'];
local text;
if is_set(inactive) then
local inactive_year = inactive:match("%d%d%d%d") or ''; -- try to get the year portion from the inactive date
text = "[[" .. handler.link .. "|" .. handler.label .. "]]:" .. id;
if is_set(inactive_year) then
table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos desde " .. inactive_year );
else
table.insert( z.error_categories, "Wikipedia:Páginas con DOI inactivos" ); -- when inactive doesn't contain a recognizable year
end
inactive = " (" .. cfg.messages['inactive'] .. " " .. inactive .. ")"
else
text = externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode})
inactive = ""
end
if nil == id:match("^10%.[^%s–]-/[^%s–]-[^%.,]$") then -- doi must begin with '10.', must contain a fwd slash, must not contain spaces or endashes, and must not end with period or comma
cat = ' ' .. seterror( 'bad_doi' );
end
return text .. inactive .. cat
end
-- Formats an OpenLibrary link, and checks for associated errors.
function openlibrary(id)
local code = id:sub(-1,-1)
local handler = cfg.id_handlers['OL'];
if ( code == "A" ) then
return externallinkid({link=handler.link, label=handler.label,
prefix="http://openlibrary.org/authors/OL",id=id, separator=handler.separator,
encode = handler.encode})
elseif ( code == "M" ) then
return externallinkid({link=handler.link, label=handler.label,
prefix="http://openlibrary.org/books/OL",id=id, separator=handler.separator,
encode = handler.encode})
elseif ( code == "W" ) then
return externallinkid({link=handler.link, label=handler.label,
prefix= "http://openlibrary.org/works/OL",id=id, separator=handler.separator,
encode = handler.encode})
else
return externallinkid({link=handler.link, label=handler.label,
prefix= "http://openlibrary.org/OL",id=id, separator=handler.separator,
encode = handler.encode}) ..
' ' .. seterror( 'bad_ol' );
end
end
--[[
Validate and format an issn. This code fixes the case where an editor has included an ISSN in the citation but has separated the two groups of four
digits with a space. When that condition occurred, the resulting link looked like this:
|issn=0819 4327 gives: [http://www.worldcat.org/issn/0819 4327 0819 4327] -- can't have spaces in an external link
This code now prevents that by inserting a hyphen at the issn midpoint. It also validates the issn for length and makes sure that the checkdigit agrees
with the calculated value. Incorrect length (8 digits), characters other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check issn
error message. The issn is always displayed with a hyphen, even if the issn was given as a single group of 8 digits.
]]
function issn(id)
local ModuloIdentificadores = require('Módulo:Identificadores')
local issn_copy = id; -- save a copy of unadulterated issn; use this version for display if issn does not validate
local handler = cfg.id_handlers['ISSN'];
local text;
local valid_issn = true;
id=id:gsub( "[%s-–]", "" ); -- strip spaces, hyphens, and ndashes from the issn
if 8 ~= id:len() or nil == id:match( "^%d*X?$" ) then -- validate the issn: 8 didgits long, containing only 0-9 or X in the last position
valid_issn=false; -- wrong length or improper character
else
valid_issn=ModuloIdentificadores.esValidoISXN(id, 8); -- validate issn
end
if true == valid_issn then
id = string.sub( id, 1, 4 ) .. "-" .. string.sub( id, 5 ); -- if valid, display correctly formatted version
else
id = issn_copy; -- if not valid, use the show the invalid issn with error message
end
text = externallinkid({link = handler.link, label = handler.label,
prefix=handler.prefix,id=id,separator=handler.separator, encode=handler.encode})
if false == valid_issn then
text = text .. ' ' .. seterror( 'bad_issn' ) -- add an error message if the issn is invalid
end
return text
end
--[[
This function sets default title types (equivalent to the citation including |type=<default value>) for those citations that have defaults.
Also handles the special case where it is desireable to omit the title type from the rendered citation (|type=none).
]]
function set_titletype(cite_class, title_type)
if is_set(title_type) then
if "none" == title_type then
title_type = ""; -- if |type=none then type parameter not displayed
end
return title_type; -- if |type= has been set to any other value use that value
end
-- if "AV media notes" == cite_class or "DVD notes" == cite_class then -- if this citation is cite AV media notes or cite DVD notes
if "notas audiovisual" == cite_class or "notas de DVD" == cite_class then -- if this citation is cite AV media notes or cite DVD notes
return "Media notes"; -- display AV media notes / DVD media notes annotation -- Falta traducir
elseif "podcast" == cite_class then -- if this citation is cite podcast
return "Podcast"; -- display podcast annotation
elseif "pressrelease" == cite_class then -- if this citation is cite press release
return "Press release"; -- display press release annotation
elseif "techreport" == cite_class then -- if this citation is cite techreport
return "Technical report"; -- display techreport annotation
elseif "tesis" == cite_class then -- if this citation is cite thesis (degree option handled after this function returns)
return "Tesis"; -- display simple thesis annotation (without |degree= modification)
end
end
--[[
Determines whether a URL string is valid
At present the only check is whether the string appears to
be prefixed with a URI scheme. It is not determined whether
the URI scheme is valid or whether the URL is otherwise well
formed.
]]
function checkurl( url_str )
-- Protocol-relative or URL scheme
return url_str:sub(1,2) == "//" or url_str:match( "^[^/]*:" ) ~= nil;
end
-- Removes irrelevant text and dashes from ISBN number
-- Similar to that used for Special:BookSources
function cleanisbn( isbn_str )
return isbn_str:gsub( "[^-0-9X]", "" );
end
-- Extract page numbers from external wikilinks in any of the |page=, |pages=, or |at= parameters for use in COinS.
function get_coins_pages (pages)
if not is_set (pages) then return pages; end -- if no page numbers then we're done
while true do
pattern = pages:match("%[([%w/:\.]+%s+)[%w%d].*%]"); -- pattern is the opening bracket, the url and following space(s): "[url "
if nil == pattern then break; end -- no more urls
pages = pages:gsub(pattern, ""); -- remove as many instances of pattern as possible
end
pages = pages:gsub("[%[%]]", ""); -- remove the brackets
pages = pages:gsub("–", "-" ); -- replace endashes with hyphens
pages = pages:gsub("&%w+;", "-" ); -- and replace html entities (– etc) with hyphens; do we need to replace numerical entities like   and the like?
return pages;
end
-- Gets the display text for a wikilink like [[A|B]] or [[B]] gives B
function removewikilink( str )
return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l)
return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1");
end));
end
-- Escape sequences for content that will be used for URL descriptions
function safeforurl( str )
if str:match( "%[%[.-%]%]" ) ~= nil then
table.insert( z.message_tail, { seterror( 'wikilink_in_url', {}, true ) } );
end
return str:gsub( '[%[%]\n]', {
['['] = '[',
[']'] = ']',
['\n'] = ' ' } );
end
-- Convierte un guión largo (signo de negativo) en un guión corto.
function dashtohyphen( str )
if not is_set(str) or str:match( "[%[%]{}<>]" ) ~= nil then
return str;
end
return str:gsub( '–', '-' );
end
-- Protects a string that will be wrapped in wiki italic markup '' ... ''
function safeforitalics( str )
--[[ Note: We can not use <i> for italics, as the expected behavior for
italics specified by ''...'' in the title is that they will be inverted
(i.e. unitalicized) in the resulting references. In addition, <i> and ''
tend to interact poorly under Mediawiki's HTML tidy. ]]
if not is_set(str) then
return str;
else
if str:sub(1,1) == "'" then str = "<span></span>" .. str; end
if str:sub(-1,-1) == "'" then str = str .. "<span></span>"; end
-- Remove newlines as they break italics.
return str:gsub( '\n', ' ' );
end
end
--[[
Joins a sequence of strings together while checking for duplicate separation
characters.
]]
function safejoin( tbl, duplicate_char )
--[[
Note: we use string functions here, rather than ustring functions.
This has considerably faster performance and should work correctly as
long as the duplicate_char is strict ASCII. The strings
in tbl may be ASCII or UTF8.
]]
local str = '';
local comp = '';
local end_chr = '';
local trim;
for _, value in ipairs( tbl ) do
if value == nil then value = ''; end
if str == '' then
str = value;
elseif value ~= '' then
if value:sub(1,1) == '<' then
-- Special case of values enclosed in spans and other markup.
comp = value:gsub( "%b<>", "" );
else
comp = value;
end
if comp:sub(1,1) == duplicate_char then
trim = false;
end_chr = str:sub(-1,-1);
-- str = str .. "<HERE(enchr=" .. end_chr.. ")"
if end_chr == duplicate_char then
str = str:sub(1,-2);
elseif end_chr == "'" then
if str:sub(-3,-1) == duplicate_char .. "''" then
str = str:sub(1, -4) .. "''";
elseif str:sub(-5,-1) == duplicate_char .. "]]''" then
trim = true;
elseif str:sub(-4,-1) == duplicate_char .. "]''" then
trim = true;
end
elseif end_chr == "]" then
if str:sub(-3,-1) == duplicate_char .. "]]" then
trim = true;
elseif str:sub(-2,-1) == duplicate_char .. "]" then
trim = true;
end
elseif end_chr == " " then
if str:sub(-2,-1) == duplicate_char .. " " then
str = str:sub(1,-3);
end
end
if trim then
if value ~= comp then
local dup2 = duplicate_char;
if dup2:match( "%A" ) then dup2 = "%" .. dup2; end
value = value:gsub( "(%b<>)" .. dup2, "%1", 1 )
else
value = value:sub( 2, -1 );
end
end
end
str = str .. value;
end
end
return str;
end
-- Attempts to convert names to initials.
function reducetoinitials(first)
local initials = {}
for word in string.gmatch(first, "%S+") do
table.insert(initials, string.sub(word,1,1)) -- Vancouver format does not include full stops.
end
return table.concat(initials) -- Vancouver format does not include spaces.
end
-- Formats a list of people (e.g. authors / editors)
function listpeople(control, people)
local sep = control.sep;
local namesep = control.namesep
local format = control.format
local maximum = control.maximum
local lastauthoramp = control.lastauthoramp;
local text = {}
local etal = false;
if sep:sub(-1,-1) ~= " " then sep = sep .. " " end
if maximum ~= nil and maximum < 1 then return "", 0; end
for i,person in ipairs(people) do
if is_set(person.last) then
local mask = person.mask
local one
local sep_one = sep;
if maximum ~= nil and i > maximum then
etal = true;
break;
elseif (mask ~= nil) then
local n = tonumber(mask)
if (n ~= nil) then
one = string.rep("—",n)
else
one = mask;
sep_one = " ";
end
else
one = person.last
local first = person.first
if is_set(first) then
if ( "vanc" == format ) then first = reducetoinitials(first) end
one = one .. namesep .. first
end
if is_set(person.link) then one = "[[" .. person.link .. "|" .. one .. "]]" end
if is_set(person.link) and nil ~= person.link:find("//") then one = one .. " " .. seterror( 'bad_authorlink' ) end -- check for url in author link;
end
table.insert( text, one )
table.insert( text, sep_one )
end
end
local count = #text / 2;
if count > 0 then
if count > 1 and is_set(lastauthoramp) and not etal then
text[#text-2] = " & ";
end
text[#text] = nil;
end
local result = table.concat(text) -- construct list
if etal then
local etal_text = cfg.messages['et al'];
result = result .. " " .. etal_text;
end
-- if necessary wrap result in <span> tag to format in Small Caps
if ( "scap" == format ) then result =
'<span class="smallcaps" style="font-variant:small-caps">' .. result .. '</span>';
end
return result, count
end
-- Generates a CITEREF anchor ID.
function anchorid( options )
return "CITAREF" .. table.concat( options ); --return "CITEREF" .. table.concat( options );
end
-- Gets name list from the input arguments
function extractnames(args, list_name)
local names = {};
local i = 1;
local last;
while true do
last = selectone( args, cfg.aliases[list_name .. '-Last'], 'redundant_parameters', i );
if not is_set(last) then
-- just in case someone passed in an empty parameter
break;
end
names[i] = {
last = last,
first = selectone( args, cfg.aliases[list_name .. '-First'], 'redundant_parameters', i ),
link = selectone( args, cfg.aliases[list_name .. '-Link'], 'redundant_parameters', i ),
mask = selectone( args, cfg.aliases[list_name .. '-Mask'], 'redundant_parameters', i )
};
i = i + 1;
end
return names;
end
-- Populates ID table from arguments using configuration settings
function extractids( args )
local id_list = {};
for k, v in pairs( cfg.id_handlers ) do
v = selectone( args, v.parameters, 'redundant_parameters' );
if is_set(v) then id_list[k] = v; end
end
return id_list;
end
-- Takes a table of IDs and turns it into a table of formatted ID outputs.
function buildidlist( id_list, options )
local new_list, handler = {};
function fallback(k) return { __index = function(t,i) return cfg.id_handlers[k][i] end } end;
for k, v in pairs( id_list ) do
-- fallback to read-only cfg
handler = setmetatable( { ['id'] = v }, fallback(k) );
if handler.mode == 'external' then
table.insert( new_list, {handler.label, externallinkid( handler ) } );
elseif handler.mode == 'internal' then
table.insert( new_list, {handler.label, internallinkid( handler ) } );
elseif handler.mode ~= 'manual' then
error( cfg.messages['unknown_ID_mode'] );
elseif k == 'DOI' then
table.insert( new_list, {handler.label, doi( v, options.DoiBroken ) } );
elseif k == 'LCCN' then
table.insert( new_list, {handler.label, lccn( v ) } );
elseif k == 'OL' then
table.insert( new_list, {handler.label, openlibrary( v ) } );
elseif k == 'PMC' then
table.insert( new_list, {handler.label, pmc( v, options.Embargo ) } );
elseif k == 'PMID' then
table.insert( new_list, {handler.label, pmid( v ) } );
elseif k == 'ISSN' then
table.insert( new_list, {handler.label, issn( v:upper() ) } );
elseif k == 'ISBN' then
--local ISBN = internallinkid( handler );
--if not checkisbn( v ) and not is_set(options.IgnoreISBN) then
-- ISBN = ISBN .. seterror( 'bad_isbn', {}, false, " ", "" );
--end
local ISBN
if options.ISBNCorrecto or options.ISBNSugerido or is_set(options.IgnoreISBN) then
ISBN = internallinkid( handler );
else -- ISBN incorrecto.
ISBN = internallinkid( handler ) .. seterror( 'bad_isbn', {}, false, " ", "" );
end
table.insert( new_list, {handler.label, ISBN } );
else
error( cfg.messages['unknown_manual_ID'] );
end
end
function comp( a, b ) -- used in following table.sort()
return a[1] < b[1];
end
table.sort( new_list, comp );
for k, v in ipairs( new_list ) do
new_list[k] = v[2];
end
return new_list;
end
function CorregirISBN(ISBNIncorrecto)
local ModuloIdentificadores = require('Módulo:Identificadores')
local ISBNCorregido
-- Convertir mayúsculas
ISBNCorregido = ISBNIncorrecto:upper()
-- Corregir guiones
ISBNCorregido = ISBNCorregido:gsub("%–","-");
-- Eliminar ISBN del principio
ISBNCorregido =ISBNCorregido:match("ISBN (.*)") or ISBNCorregido;
-- Eliminar separadores como "." y "," del final
ISBNCorregido = ISBNCorregido:gsub("[%.,]","");
if ModuloIdentificadores.esValidoISBN(ISBNCorregido) then
return ISBNCorregido
end
-- Ver si se trata de un ISBN de 13
local ISBNCorregidoSin978
ISBNCorregidoSin978 = ISBNCorregido:match("^978[%s-]*(.*)")
if ISBNCorregidoSin978 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin978) then
-- "978" + ISBN10
return ISBNCorregidoSin978
end
-- ISBN de 13 al que se ha quitado 978
if ModuloIdentificadores.esValidoISBN('978'..ISBNCorregido) then
if ISBNCorregido:match('-') then
return '978-' .. ISBNCorregido
elseif ISBNCorregido:match(' ') then
return '978 ' .. ISBNCorregido
else
return '978' .. ISBNCorregido
end
end
-- 13 ISBN o 13: ISBN
local ISBNCorregidoSi13
ISBNCorregidoSin13 = ISBNCorregido:match("^13:?[%s]+(.*)")
if ISBNCorregidoSin13 and ModuloIdentificadores.esValidoISBN(ISBNCorregidoSin13) then
return ISBNCorregidoSin13
end
end
function CorregirISBNs(ISBNIncorrecto1, ISBNIncorrecto2)
-- Tomar aquel de los dos ISBNs correctos si uno de ellos es un ISBN10 y el
-- otro el correspondiente ISBN13
local ISBN1Corregido = CorregirISBN(ISBNIncorrecto1)
local ISBN2Corregido = CorregirISBN(ISBNIncorrecto2)
if ISBN1Corregido and ISBN2Corregido then
-- Ambos son correctos.
if ISBN1Corregido == ISBN2Corregido then
-- Ambos son iguales (tras corregirse)
return ISBN1Corregido
end
-- Ver si uno de ellos es un ISBN10 y el otro un ISBN13
local ISBNSinDigitoControl
ISBNSinDigitoControl = ISBN1Corregido:match("(.*).")
if ISBNSinDigitoControl and ISBN2Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then
return ISBN2Corregido
end
ISBNSinDigitoControl = ISBN2Corregido:match("(.*).")
if ISBNSinDigitoControl and ISBN1Corregido:match("978[%s-]*" .. ISBNSinDigitoControl) then
return ISBN1Corregido
end
elseif ISBN1Corregido then
return ISBN1Corregido
elseif ISBN2Corregido then
return ISBN1Corregido
end
end
function SugerirISBN(ISBNIncorrecto)
local ISBNSugerido
-- Ejemplos:
-- 0 88254 165 x --> 0 88254 165 X
-- 0-7153-5734-4. --> 0-7153-5734-4
-- 0–313–31807–7 --> 0-313-31807-7
-- ISBN(13): 9788495379092
-- 978-0-7432-9302-0 y 0-7432-9302-0
-- 9788430948949 8430948945
-- 8496702057 9788496702059
-- 0198152213, 978019815221
-- 13 978-0-511-41399-5
-- 13: 9788432238406
-- ISBN con caracteres incorrectos.
ISBNSugerido=CorregirISBN(ISBNIncorrecto)
if ISBNSugerido then
return ISBNSugerido
end
-- ISBN10, ISBN13 o ISBN13, ISBN10
local ISBN1, ISBN2
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*),%s*(.*)")
if is_set(ISBN1) and is_set(ISBN2) then
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)
if ISBNSugerido then
return ISBNSugerido
end
end
-- ISBN10 y ISBN13 o ISBN13 y ISBN10
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+y%s+(.*)")
if is_set(ISBN1) and is_set(ISBN2) then
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)
if ISBNSugerido then
return ISBNSugerido
end
end
-- ISBN10 ISBN13 o ISBN13 ISBN10
ISBN1, ISBN2 = ISBNIncorrecto:match("(.*)%s+(.*)")
if is_set(ISBN1) and is_set(ISBN2) then
ISBNSugerido = CorregirISBNs(ISBN1, ISBN2)
if ISBNSugerido then
return ISBNSugerido
end
end
end
-- Chooses one matching parameter from a list of parameters to consider
-- Generates an error if more than one match is present.
function selectone( args, possible, error_condition, index )
local value = nil;
local selected = '';
local error_list = {};
if index ~= nil then index = tostring(index); end
-- Handle special case of "#" replaced by empty string
if index == '1' then
for _, v in ipairs( possible ) do
v = v:gsub( "#", "" );
if is_set(args[v]) then
if value ~= nil and selected ~= v then
table.insert( error_list, v );
else
value = args[v];
selected = v;
end
end
end
end
for _, v in ipairs( possible ) do
if index ~= nil then
v = v:gsub( "#", index );
end
if is_set(args[v]) then
if value ~= nil and selected ~= v then
table.insert( error_list, v );
else
value = args[v];
selected = v;
end
end
end
if #error_list > 0 then
local error_str = "";
for _, k in ipairs( error_list ) do
if error_str ~= "" then error_str = error_str .. cfg.messages['parameter-separator'] end
error_str = error_str .. wrap( 'parameter', k );
end
if #error_list > 1 then
error_str = error_str .. cfg.messages['parameter-final-separator'];
else
error_str = error_str .. cfg.messages['parameter-pair-separator'];
end
error_str = error_str .. wrap( 'parameter', selected );
table.insert( z.message_tail, { seterror( error_condition, {error_str}, true ) } );
end
return value, selected;
end
-- COinS metadata (see <http://ocoins.info/>) allows automated tools to parse
-- the citation information.
function COinS(data)
if 'table' ~= type(data) or nil == next(data) then
return '';
end
local ctx_ver = "Z39.88-2004";
-- treat table strictly as an array with only set values.
local OCinSoutput = setmetatable( {}, {
__newindex = function(self, key, value)
if is_set(value) then
rawset( self, #self+1, table.concat{ key, '=', mw.uri.encode( removewikilink( value ) ) } );
end
end
});
if is_set(data.Chapter) then
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book";
OCinSoutput["rft.genre"] = "bookitem";
OCinSoutput["rft.btitle"] = data.Chapter;
OCinSoutput["rft.atitle"] = data.Title;
elseif is_set(data.Periodical) then
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:journal";
OCinSoutput["rft.genre"] = "article";
OCinSoutput["rft.jtitle"] = data.Periodical;
OCinSoutput["rft.atitle"] = data.Title;
else
OCinSoutput.rft_val_fmt = "info:ofi/fmt:kev:mtx:book";
OCinSoutput["rft.genre"] = "book"
OCinSoutput["rft.btitle"] = data.Title;
end
OCinSoutput["rft.place"] = data.PublicationPlace;
OCinSoutput["rft.date"] = data.Date;
OCinSoutput["rft.series"] = data.Series;
OCinSoutput["rft.volume"] = data.Volume;
OCinSoutput["rft.issue"] = data.Issue;
OCinSoutput["rft.pages"] = data.Pages;
OCinSoutput["rft.edition"] = data.Edition;
OCinSoutput["rft.pub"] = data.PublisherName;
for k, v in pairs( data.ID_list ) do
local id, value = cfg.id_handlers[k].COinS;
if k == 'ISBN' then value = cleanisbn( v ); else value = v; end
if string.sub( id or "", 1, 4 ) == 'info' then
OCinSoutput["rft_id"] = table.concat{ id, "/", v };
else
OCinSoutput[ id ] = value;
end
end
local last, first;
for k, v in ipairs( data.Authors ) do
last, first = v.last, v.first;
if k == 1 then
if is_set(last) then
OCinSoutput["rft.aulast"] = last;
end
if is_set(first) then
OCinSoutput["rft.aufirst"] = first;
end
end
if is_set(last) and is_set(first) then
OCinSoutput["rft.au"] = table.concat{ last, ", ", first };
elseif is_set(last) then
OCinSoutput["rft.au"] = last;
end
end
OCinSoutput.rft_id = data.URL;
OCinSoutput.rfr_id = table.concat{ "info:sid/", mw.site.server:match( "[^/]*$" ), ":", data.RawPage };
OCinSoutput = setmetatable( OCinSoutput, nil );
-- sort with version string always first, and combine.
table.sort( OCinSoutput );
table.insert( OCinSoutput, 1, "ctx_ver=" .. ctx_ver ); -- such as "Z39.88-2004"
return table.concat(OCinSoutput, "&");
end
--[[
This is the main function doing the majority of the citation
formatting.
]]
function citation0( config, args)
local ModuloIdentificadores = require('Módulo:Identificadores')
--[[
Load Input Parameters
The argment_wrapper facillitates the mapping of multiple
aliases to single internal variable.
]]
local A = argument_wrapper( args );
local i
local PPrefix = A['PPrefix']
local PPPrefix = A['PPPrefix']
if is_set( A['NoPP'] ) then PPPrefix = "" PPrefix = "" end
-- Pick out the relevant fields from the arguments. Different citation templates
-- define different field names for the same underlying things.
local Authors = A['Authors'];
local a = extractnames( args, 'AuthorList' );
local Coauthors = A['Coauthors'];
local Editors = A['Editors'];
local e = extractnames( args, 'EditorList' );
local Year = A['Year'];
local wYear=Year;
local PublicationDate = A['PublicationDate'];
local OrigYear = A['OrigYear'];
local Date = A['Date'];
local wfecha = Date;
local LayDate = A['LayDate'];
------------------------------------------------- Get title data
local Title = A['Title'];
local BookTitle = A['BookTitle'];
local Conference = A['Conference'];
local TransTitle = A['TransTitle'];
local TitleNote = A['TitleNote'];
local TitleLink = A['TitleLink'];
local Chapter = A['Chapter'];
local ChapterLink = A['ChapterLink'];
local TransChapter = A['TransChapter'];
local TitleType = A['TitleType'];
local Degree = A['Degree'];
local Docket = A['Docket'];
local ArchiveURL = A['ArchiveURL'];
local URL = A['URL']
local URLorigin = A:ORIGIN('URL');
local ChapterURL = A['ChapterURL'];
local ChapterURLorigin = A:ORIGIN('ChapterURL');
local ConferenceURL = A['ConferenceURL'];
local ConferenceURLorigin = A:ORIGIN('ConferenceURL');
local SinURL = false;
local Periodical = A['Periodical'];
local Series = A['Series'];
local Volume = A['Volume'];
local Issue = A['Issue'];
local Position = '';
local Page = A['Page'];
local Pages = dashtohyphen( A['Pages'] );
local At = A['At'];
local Others = A['Others'];
local Edition = A['Edition'];
local PublicationPlace = A['PublicationPlace']
local Place = A['Place'];
local Passage = A['Passage'];
local PassageURL = A['PassageURL'];
local PublisherName = A['PublisherName'];
local UrlAccess = A['UrlAccess'];
local RegistrationRequired = A['RegistrationRequired'];
local SubscriptionRequired = A['SubscriptionRequired'];
local Via = A['Via'];
local AccessDate = A['AccessDate'];
local MesAcceso = A['MesAcceso']; -- Inexistente en la plantilla original
local AnyoAcceso = A['AñoAcceso']; -- Inexistente en la plantilla original
local ArchiveDate = A['ArchiveDate'];
local Agency = A['Agency'];
local DeadURL = A['DeadURL']
local Language = A['Language'];
local Format = A['Format'];
local Ref = A['Ref'];
local DoiBroken = A['DoiBroken'];
local ID = A['ID'];
local IgnoreISBN = A['IgnoreISBN'];
local Embargo = A['Embargo'];
local Texto1 = A['Texto1']
local ID_list = extractids( args );
local ISBNCorrecto = false;
local ISBNSugerido;
if is_set (ID_list['ISBN']) and not is_set (IgnoreISBN) then
if ModuloIdentificadores.esValidoISBN(ID_list['ISBN']) then
ISBNCorrecto= true
else
ISBNSugerido = SugerirISBN(ID_list['ISBN'])
if ISBNSugerido then
ID_list['ISBN'] = ISBNSugerido
end
end
end
local Lista_Identificadores_Formateados={} -- Lista de identificadores con enlaces y en su caso con los errores
local Quote = A['Quote'];
local TransQuote = A['TransQuote'];
local PostScript = A['PostScript'];
local LayURL = A['LayURL'];
local LaySource = A['LaySource'];
local Transcript = A['Transcript'];
local TranscriptURL = A['TranscriptURL']
local TranscriptURLorigin = A:ORIGIN('TranscriptURL');
local sepc = A['Separator'];
local LastAuthorAmp = A['LastAuthorAmp'];
local no_tracking_cats = A['NoTracking'];
--these are used by cite interview
local Callsign = A['Callsign'];
local City = A['City'];
local Cointerviewers = A['Cointerviewers']; -- deprecated
local Interviewer = A['Interviewer']; -- deprecated
local Program = A['Program'];
--Parámetros que no se utilizan en la plantilla inglesa
local SinEd = A['SinEd']
local Extra = A['Extra']
local Traductor = A['Traductor']
local Traductores = A['Traductores']
--local variables that are not cs1 parameters
local page_type; -- is this needed? Doesn't appear to be used anywhere;
local use_lowercase
local this_page = mw.title.getCurrentTitle(); --Also used for COinS and for language
-- local anchor_year; -- used in the CITEREF identifier
local COinS_date; -- used in the COinS metadata
--check this page to see if it is in one of the namespaces that cs1 is not supposed to add to the error categories.
if not is_set(no_tracking_cats) then -- ignore if we are already not going to categorize this page
for k, v in pairs( cfg.uncategorized_namespaces ) do -- otherwise, spin through the list of namespaces we don't include in error categories
if this_page.nsText == v then -- if we find one
no_tracking_cats = "true"; -- set no_trackin_cats
break; -- and we're done
end
end
end
-- check for extra |page=, |pages= or |at= parameters.
if is_set(Page) then
-- La categoría de la plantilla inglesa es intraducible. Utilizo otro error similar.
--if is_set(Pages) or is_set(At) then
-- Page = Page .. " " .. seterror('extra_pages'); -- add error message
-- Pages = ''; -- unset the others
-- At = '';
--end
if is_set(Pages) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|páginas=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(At) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|en=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
elseif is_set(Passage) then
Page = Page .. " " .. seterror('redundant_parameters', '<code>|página=</code> y <code>|pasaje=</code>');
Pages = ''; -- unset the others
At = '';
Passage = '';
end
elseif is_set(Pages) then
if is_set(At) then
-- Pages = Pages .. " " .. seterror('extra_pages'); -- add error messages
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>|páginas=</code> y <code>|en=</code>');
At = '';
Passage = '';
elseif is_set(Passage) then
Pages = Pages .. " " .. seterror('redundant_parameters', '<code>|páginas=</code> y <code>|pasaje=</code>');
At = '';
Passage = '';
end
elseif is_set(At) then
if is_set(Passage) then
At = At .. " " .. seterror('redundant_parameters', '<code>|en=</code> y <code>|pasaje=</code>');
Passage = '';
end
end
-- both |publication-place= and |place= (|location=) allowed if different
if not is_set(PublicationPlace) and is_set(Place) then
PublicationPlace = Place; -- promote |place= (|location=) to |publication-place
end
if PublicationPlace == Place then Place = ''; end -- don't need both if they are the same
--[[
Parameter remapping for cite encyclopedia:
When the citation has these parameters:
|encyclopedia and |title then map |title to |article and |encyclopedia to |title
|encyclopedia and |article then map |encyclopedia to |title
|encyclopedia then map |encyclopedia to |title
|trans_title maps to |trans_chapter when |title is re-mapped
All other combinations of |encyclopedia, |title, and |article are not modified
]]
-- if ( config.ClaseCita == "encyclopaedia" ) then
if ( config.ClaseCita == "enciclopedia" ) then
if is_set(Periodical) then -- Periodical is set when |encyclopedia is set
if is_set(Title) then
if not is_set(Chapter) then
Chapter = Title; -- |encyclopedia and |title are set so map |title to |article and |encyclopedia to |title
TransChapter = TransTitle;
Title = Periodical;
Periodical = ''; -- redundant so unset
TransTitle = ''; -- redundant so unset
end
else -- |title not set
Title = Periodical; -- |encyclopedia set and |article set or not set so map |encyclopedia to |title
Periodical = ''; -- redundant so unset
end
end
end
--special cases for classic book
if config.ClaseCita == 'libro' and is_set(Passage) then
if is_set(PassageURL) then
Passage = externallink( PassageURL, Passage )
end
if not is_set (sepc) then
sepc = ' ';
end
else
Passage = ''
end
--special cases for citation.
if (config.ClaseCita == "citation") then -- for citation templates
if not is_set (sepc) then -- if |separator= is not set
sepc = ','; -- set citation separator to its default (comma)
end
else -- not a citation template
if not is_set (sepc) then -- if |separator= has not been set
sepc = '.'; -- set cite xxx separator to its default (period)
end
end
if not is_set (Ref) then -- if |ref= is not set
-- if inArray(config.ClaseCita, {"citation", "libro", "publicación", "web"}) then -- for citation templates
-- En la Wikipedia inglesa solo se usan citas Harvard para la clase citation
-- Quedan habilitadas las citas Harvard para cualquier clase que contenga algún autor o editor
if #a > 0 or #e > 0 then
Ref = "harv"; -- set default |ref=harv
end
end
-- check for specital case where |separator=none
if 'none' == sepc:lower() then -- if |separator=none
sepc = ''; -- then set it to a empty string
end
use_lowercase = ( sepc ~= '.' );
Others = is_set(Others) and (sepc .. " " .. Others) or "";
-- Special case for cite techreport.
if (config.ClaseCita == "techreport") then -- special case for cite techreport
if is_set(Issue) then -- cite techreport uses 'number', which other citations aliase to 'issue'
if not is_set(ID) then -- can we use ID for the "number"?
ID = Issue; -- yes, use it
Issue = ""; -- unset Issue so that "number" isn't duplicated in the rendered citation or COinS metadata
else -- can't use ID so emit error message
ID = ID .. " " .. seterror('redundant_parameters', '<code>|id=</code> and <code>|number=</code>');
end
end
-- special case for cite interview
elseif (config.ClaseCita == "entrevista") then
if is_set(Program) then
ID = ' ' .. Program;
end
if is_set(Callsign) then
if is_set(ID) then
ID = ID .. sepc .. ' ' .. Callsign;
else
ID = ' ' .. Callsign;
end
end
if is_set(City) then
if is_set(ID) then
ID = ID .. sepc .. ' ' .. City;
else
ID = ' ' .. City;
end
end
if is_set(Interviewer) then
if is_set(TitleType) then
Others = sepc .. ' ' .. TitleType .. ' con ' .. Interviewer -- ' ' .. TitleType .. ' con ' .. Interviewer;
TitleType = '';
else
Others = sepc .. ' ' .. wrap('interview', Interviewer, use_lowercase) .. Others -- ' ' .. 'Entrevista con ' .. Interviewer;
end
if is_set(Cointerviewers) then
Others = Others .. sepc .. ' ' .. Cointerviewers;
end
else
Others = Others .. sepc .. ' (Entrevista)' --'(Interview)';
end
elseif is_set(ID) then
ID = wrap( 'id', ID)
end
--Account for the oddity that is {{cite journal}} with |pmc= set and |url= not set
-- if config.ClaseCita == "journal" and not is_set(URL) and is_set(ID_list['PMC']) then
if config.ClaseCita == "publicación" and not is_set(URL) and is_set(ID_list['PMC']) then
if not is_embargoed(Embargo) then
URL=cfg.id_handlers['PMC'].prefix .. ID_list['PMC']; -- set url to be the same as the PMC external link if not embargoed
URLorigin = cfg.id_handlers['PMC'].parameters[1]; -- set URLorigin to parameter name for use in error message if citation is missing a |title=
end
end
if is_set(Texto1) and Texto1:match("%S+") then
-- Informar la URL con el valor del campo 1 en su caso
if config.ClaseCita == "web" and not is_set(URL) and checkurl(Texto1) then
table.insert( z.message_tail, { seterror( 'url_sugerida', {Texto1, 'url'}, true ) } )
--URL = Texto1 Utilizar URL como texto.
else
table.insert( z.message_tail, { seterror( 'text_ignored', {Texto1}, true ) } )
end
end
-- Account for the oddity that is {{cite conference}}, before generation of COinS data.
--TODO: if this is only for {{cite conference}}, shouldn't we be checking? (if config.ClaseCita=='conference' then ...)
if 'conferencia' == config.ClaseCita then
if is_set(BookTitle) then
Chapter = Title;
-- ChapterLink = TitleLink; -- |chapterlink= is deprecated
ChapterURL = URL;
ChapterUrlAccess = UrlAccess;
ChapterURLorigin = URLorigin;
URLorigin = '';
ChapterFormat = Format;
TransChapter = TransTitle;
Title = BookTitle;
Format = '';
-- TitleLink = '';
TransTitle = '';
URL = '';
end
elseif 'speech' ~= config.ClaseCita then
Conference = ''; -- not cite conference or cite speech so make sure this is empty string
end
-- Account for the oddity that is {{cite episode}}, before generation of COinS data.
--[[ -- {{cite episode}} is not currently supported by this module
if config.ClaseCita == "episode" then
local AirDate = A['AirDate'];
local SeriesLink = A['SeriesLink'];
local Season = A['Season'];
local SeriesNumber = A['SeriesNumber'];
local Network = A['Network'];
local Station = A['Station'];
local s, n = {}, {};
local Sep = (first_set(A["SeriesSeparator"], A["Separator"]) or "") .. " ";
if is_set(Issue) then table.insert(s, cfg.messages["episode"] .. " " .. Issue); Issue = ''; end
if is_set(Season) then table.insert(s, cfg.messages["season"] .. " " .. Season); end
if is_set(SeriesNumber) then table.insert(s, cfg.messages["series"] .. " " .. SeriesNumber); end
if is_set(Network) then table.insert(n, Network); end
if is_set(Station) then table.insert(n, Station); end
Date = Date or AirDate;
Chapter = Title;
ChapterLink = TitleLink;
TransChapter = TransTitle;
Title = Series;
TitleLink = SeriesLink;
TransTitle = '';
Series = table.concat(s, Sep);
ID = table.concat(n, Sep);
end
-- end of {{cite episode}} stuff]]
-- legacy: promote concatenation of |day=, |month=, and |year= to Date if Date not set; or, promote PublicationDate to Date if neither Date nor Year are set.
if not is_set(Date) then
Date = Year; -- promote Year to Date
Year = nil; -- make nil so Year as empty string isn't used for CITEREF
if is_set(Date) then
local Month = A['Month'];
if is_set(Month) then
Date = Month .. " de " .. Date; --Month .. " " .. Date;
local Day = A['Day']
if is_set(Day) then Date = Day .. " de " .. Date end --if is_set(Day) then Date = Day .. " " .. Date end
end
elseif is_set(PublicationDate) then -- use PublicationDate when |date= and |year= are not set
Date = PublicationDate; -- promonte PublicationDate to Date
PublicationDate = ''; -- unset, no longer needed
end
end
if PublicationDate == Date then PublicationDate = ''; end -- if PublicationDate is same as Date, don't display in rendered citation
--[[
Go test all of the date-holding parameters for valid MOS:DATE format and make sure that dates are real dates. This must be done before we do COinS because here is where
we get the date used in the metadata.
Date validation supporting code is in Módulo:Citas/ValidaciónFechas
]]
--[[
anchor_year, COinS_date, error_message = dates({['accessdate']=AccessDate, ['airdate']=AirDate, ['archivedate']=ArchiveDate, ['date']=Date, ['doi_brokendate']=DoiBroken,
['embargo']=Embargo, ['laydate']=LayDate, ['publicationdate']=PublicationDate, ['year']=Year});
if is_set(error_message) then
table.insert( z.message_tail, { seterror( 'bad_date', {error_message}, true ) } ); -- add this error message
end
]]
-- At this point fields may be nil if they weren't specified in the template use. We can use that fact.
-- COinS metadata (see <http://ocoins.info/>) for
-- automated parsing of citation information.
local OCinSoutput = COinS{
['Periodical'] = Periodical,
['Chapter'] = Chapter,
['Title'] = Title,
['PublicationPlace'] = PublicationPlace,
['Date'] = first_set(COinS_date, Date), -- COinS_date has correctly formatted date if Date is valid; any reason to keep Date here? Should we be including invalid dates in metadata?
['Series'] = Series,
['Volume'] = Volume,
['Issue'] = Issue,
['Pages'] = get_coins_pages (first_set(Page, Pages, At)), -- pages stripped of external links
['Edition'] = Edition,
['PublisherName'] = PublisherName,
['URL'] = first_set( URL, ChapterURL ),
['Authors'] = a,
['ID_list'] = ID_list,
['RawPage'] = this_page.prefixedText,
};
if is_set(Periodical) and not is_set(Chapter) and is_set(Title) then
Chapter = Title;
ChapterLink = TitleLink;
TransChapter = TransTitle;
Title = '';
TitleLink = '';
TransTitle = '';
end
-- Now perform various field substitutions.
-- We also add leading spaces and surrounding markup and punctuation to the
-- various parts of the citation, but only when they are non-nil.
if not is_set(Authors) then
local Maximum = tonumber( A['DisplayAuthors'] );
-- Preserve old-style implicit et al.
if not is_set(Maximum) and #a == 9 then
Maximum = 8;
table.insert( z.message_tail, { seterror('implict_etal_author', {}, true ) } );
elseif not is_set(Maximum) then
Maximum = #a + 1;
end
local control = {
sep = A["AuthorSeparator"] .. " ",
namesep = (first_set(A["AuthorNameSeparator"], A["NameSeparator"]) or "") .. " ",
format = A["AuthorFormat"],
maximum = Maximum,
lastauthoramp = LastAuthorAmp
};
-- If the coauthor field is also used, prevent ampersand and et al. formatting.
if is_set(Coauthors) then
control.lastauthoramp = nil;
control.maximum = #a + 1;
end
Authors = listpeople(control, a)
end
if not is_set(Authors) and is_set(Coauthors) then -- coauthors aren't displayed if one of authors=, authorn=, or lastn= isn't specified
table.insert( z.message_tail, { seterror('coauthors_missing_author', {}, true) } ); -- emit error message
-- Utilizo temporalmente los coautores como autores.
Authors = Coauthors
Coauthors = nil
end
local EditorCount
if not is_set(Editors) then
local Maximum = tonumber( A['DisplayEditors'] );
-- Preserve old-style implicit et al.
if not is_set(Maximum) and #e == 4 then
Maximum = 3;
table.insert( z.message_tail, { seterror('implict_etal_editor', {}, true) } );
elseif not is_set(Maximum) then
Maximum = #e + 1;
end
local control = {
sep = A["EditorSeparator"] .. " ",
namesep = (first_set(A["EditorNameSeparator"], A["NameSeparator"]) or "") .. " ",
format = A['EditorFormat'],
maximum = Maximum,
lastauthoramp = LastAuthorAmp
};
Editors, EditorCount = listpeople(control, e);
else
EditorCount = 1;
end
local Cartography = "";
local Scale = "";
if config.ClaseCita == "map" then
if not is_set( Authors ) and is_set( PublisherName ) then
Authors = PublisherName;
PublisherName = "";
end
Cartography = A['Cartography'];
if is_set( Cartography ) then
Cartography = sepc .. " " .. wrap( 'cartography', Cartography, use_lowercase );
end
Scale = A['Scale'];
if is_set( Scale ) then
Scale = sepc .. " " .. Scale;
end
end
if not is_set(URL) and
not is_set(ChapterURL) and
not is_set(ArchiveURL) and
not is_set(ConferenceURL) and
not is_set(TranscriptURL) then
sinURL = true
-- Test if cite web or cite podcast |url= is missing or empty
if inArray(config.ClaseCita, {"web","podcast"}) then
table.insert( z.message_tail, { seterror( 'cite_web_url', {}, true ) } );
end
-- Test if format is given without giving a URL
if is_set(Format) then
Format = Format .. seterror( 'format_missing_url' );
end
end
-- Test if citation has no title
if not is_set(Chapter) and
not is_set(Title) and
not is_set(Periodical) and
not is_set(Conference) and
not is_set(TransTitle) and
not is_set(TransChapter) and
not is_set(Passage) then
table.insert( z.message_tail, { seterror( 'citation_missing_title', {}, true ) } );
end
Format = is_set(Format) and " " .. wrap( 'format', Format ) or ""; --is_set(Format) and " (" .. Format .. ")" or "";
local OriginalURL = URL
DeadURL = DeadURL:lower();
if is_set( ArchiveURL ) then
if ( DeadURL ~= "no" ) then
URL = ArchiveURL
URLorigin = A:ORIGIN('ArchiveURL')
end
end
-- Format chapter / article title
if is_set(Chapter) and is_set(ChapterLink) then
Chapter = "[[" .. ChapterLink .. "|" .. Chapter .. "]]";
end
if is_set(Periodical) and is_set(Title) then
Chapter = wrap( 'italic-title', Chapter );
TransChapter = wrap( 'trans-italic-title', TransChapter );
else
Chapter = kern_quotes (Chapter); -- if necessary, separate chapter title's leading and trailing quote marks from Module provided quote marks
Chapter = wrap( 'quoted-title', Chapter );
TransChapter = wrap( 'trans-quoted-title', TransChapter );
end
local TransError = ""
if is_set(TransChapter) then
if not is_set(Chapter) then
TransError = " " .. seterror( 'trans_missing_chapter' );
else
TransChapter = " " .. TransChapter;
end
end
Chapter = Chapter .. TransChapter;
if is_set(Chapter) then
if not is_set(ChapterLink) then
if is_set(ChapterURL) then
Chapter = externallink( ChapterURL, Chapter ) .. TransError;
if not is_set(URL) then
Chapter = Chapter .. Format;
Format = "";
end
elseif is_set(URL) then
Chapter = externallink( URL, Chapter ) .. TransError .. Format;
URL = "";
Format = "";
else
Chapter = Chapter .. TransError;
end
elseif is_set(ChapterURL) then
Chapter = Chapter .. " " .. externallink( ChapterURL, nil, ChapterURLorigin ) ..
TransError;
else
Chapter = Chapter .. TransError;
end
Chapter = Chapter .. sepc .. " " -- with end-space
elseif is_set(ChapterURL) then
Chapter = " " .. externallink( ChapterURL, nil, ChapterURLorigin ) .. sepc .. " ";
end
-- Format main title.
if is_set(TitleLink) and is_set(Title) then
Title = "[[" .. TitleLink .. "|" .. Title .. "]]"
end
if is_set(Traductor) and is_set(Traductores) then
Traductor = " " .. wrap( 'traductores', Traductores) .. " " .. seterror('redundant_parameters', '<code>|traductor=</code> y <code>|traductores=</code>')
elseif is_set(Traductor) then
Traductor = " " .. wrap( 'traductor', Traductor)
elseif is_set(Traductores) then
Traductor = " " .. wrap( 'traductores', Traductores)
end
Traductores = ''
if is_set(Periodical) then
Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks
Title = wrap( 'quoted-title', Title );
TransTitle = wrap( 'trans-quoted-title', TransTitle );
-- elseif inArray(config.ClaseCita, {"web","news","pressrelease","conference","podcast"}) and
elseif inArray(config.ClaseCita, {"web","noticia","pressrelease","conference","podcast"}) and
not is_set(Chapter) then
Title = kern_quotes (Title); -- if necessary, separate title's leading and trailing quote marks from Module provided quote marks
Title = wrap( 'quoted-title', Title );
TransTitle = wrap( 'trans-quoted-title', TransTitle );
else
Title = wrap( 'italic-title', Title );
TransTitle = wrap( 'trans-italic-title', TransTitle );
end
TransError = "";
if is_set(TransTitle) then
if not is_set(Title) then
TransError = " " .. seterror( 'trans_missing_title' );
else
TransTitle = " " .. TransTitle;
end
end
Title = Title .. Traductor .. TransTitle;
if is_set(Title) then
if not is_set(TitleLink) and is_set(URL) then
Title = externallink( URL, Title, URL_origin, UrlAccess ) .. TransError .. Format
URL = "";
TieneURL = true;
Format = "";
else
Title = Title .. TransError;
end
end
if is_set(Place) then
Place = " " .. wrap( 'written', Place, use_lowercase ) .. sepc .. " ";
end
if is_set(Conference) then
if is_set(ConferenceURL) then
Conference = externallink( ConferenceURL, Conference );
end
Conference = sepc .. " " .. Conference
elseif is_set(ConferenceURL) then
Conference = sepc .. " " .. externallink( ConferenceURL, nil, ConferenceURLorigin );
end
if not is_set(Position) then
local Minutes = A['Minutes'];
if is_set(Minutes) then
Position = " " .. Minutes .. " " .. cfg.messages['minutes'];
else
local Time = A['Time'];
if is_set(Time) then
local TimeCaption = A['TimeCaption']
if not is_set(TimeCaption) then
TimeCaption = cfg.messages['event'];
if sepc ~= '.' then
TimeCaption = TimeCaption:lower();
end
end
Position = " " .. TimeCaption .. " " .. Time;
end
end
else
Position = " " .. Position;
At = '';
end
if not is_set(Page) then
if is_set(Pages) then
if is_set(Periodical) and
-- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then
not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then
Pages = ": " .. Pages;
elseif tonumber(Pages) ~= nil then
Pages = sepc .." " .. PPrefix .. Pages;
else
Pages = sepc .." " .. PPPrefix .. Pages;
end
end
else
if is_set(Periodical) and
-- not inArray(config.ClaseCita, {"encyclopaedia","web","book","news","podcast"}) then
not inArray(config.ClaseCita, {"enciclopedia","web","libro","noticia","podcast"}) then
Page = ": " .. Page;
else
Page = sepc .." " .. PPrefix .. Page;
end
end
At = is_set(At) and (sepc .. " " .. At) or "";
Passage = is_set(Passage) and (sepc .. " " .. Passage) or "";
Position = is_set(Position) and (sepc .. " " .. Position) or "";
if config.ClaseCita == 'map' then
local Section = A['Section'];
local Inset = A['Inset'];
if first_set( Pages, Page, At ) ~= nil or sepc ~= '.' then
if is_set( Section ) then
Section = ", " .. wrap( 'section', Section, true );
end
if is_set( Inset ) then
Inset = ", " .. wrap( 'inset', Inset, true );
end
else
if is_set( Section ) then
Section = sepc .. " " .. wrap( 'section', Section, use_lowercase );
if is_set( Inset ) then
Inset = ", " .. wrap( 'inset', Inset, true );
end
elseif is_set( Inset ) then
Inset = sepc .. " " .. wrap( 'inset', Inset, use_lowercase );
end
end
At = At .. Section .. Inset;
end
--[[Look in the list of iso639-1 language codes to see if the value provided in the language parameter matches one of them. If a match is found,
use that value; if not, then use the value that was provided with the language parameter.
Categories are assigned in a manner similar to the {{xx icon}} templates - categorizes only mainspace citations and only when the language code is not 'en' (English).
]]
if is_set (Language) then
-- Poner en minúsculas el primer caracter del idioma si está en mayúsculas
Language = Language:gsub("^%u", string.lower)
if Language == 'español' or Language == 'castellano' or Language == 'es' or Language:match('^es%-.*') then
Language=""; -- No mostrar el idioma español
else
local name = mw.language.fetchLanguageName( Language:lower(), "es" ); -- experiment: this seems to return correct ISO 639-1 language names
if is_set (name) then
Language=" " .. wrap( 'language', name );
else
Language=" " .. wrap( 'language', Language ); -- no match, use parameter's value
end
end
else
Language=""; -- Asegurarnos de que el idioma no es nulo.
end
-- handle type parameter for those CS1 citations that have default values
-- if inArray(config.ClaseCita, {"AV media notes", "DVD notes", "podcast", "pressrelease", "techreport", "thesis"}) then
if inArray(config.ClaseCita, {"notas audiovisual", "notas de DVD", "podcast", "pressrelease", "techreport", "tesis"}) then
TitleType = set_titletype (config.ClaseCita, TitleType);
if is_set(Degree) and "Tesis" == TitleType then -- special case for cite thesis
TitleType = "Tesis de " .. Degree;
end
end
if is_set(TitleType) then -- if type parameter is specified
TitleType = " (" .. TitleType .. ")"; -- display it in parentheses
end
TitleNote = is_set(TitleNote) and (sepc .. " " .. TitleNote) or "";
if is_set(Edition) then
if is_set(SinEd) then -- No existe el parámetro en el módulo de la wikipedia inglesa.
Edition = " " .. wrap( 'sin edición', Edition ) -- No existe el parámetro en el módulo de la wikipedia inglesa.
else
Edition = " " .. wrap( 'edition', Edition )
end
else
Edition = ""
end
Issue = is_set(Issue) and (" (" .. Issue .. ")") or "";
Series = is_set(Series) and (sepc .. " " .. Series) or "";
OrigYear = is_set(OrigYear) and (" [" .. OrigYear .. "]") or "";
Agency = is_set(Agency) and (sepc .. " " .. Agency) or "";
if is_set(Volume) then
if Volume:match ('^%d+$') or Volume:match ('^[MDCLXVI]+$') -- negrita solamente si el capítulo está reflejado como cifra decimal o números romanos
then Volume = " <b>" .. dashtohyphen(Volume) .. "</b>";
else Volume = sepc .." " .. Volume;
end
end
--[[ This code commented out while discussion continues until after week of 2014-03-23 live module update;
if is_set(Volume) then
if ( mw.ustring.len(Volume) > 4 )
then Volume = sepc .. " " .. Volume;
else
Volume = " <b>" .. hyphentodash(Volume) .. "</b>";
if is_set(Series) then Volume = sepc .. Volume;
end
end
end
]]
------------------------------------ totally unrelated data
--[[ Loosely mimic {{subscription required}} template; Via parameter identifies a delivery source that is not the publisher; these sources often, but not always, exist
behind a registration or paywall. So here, we've chosen to decouple via from subscription (via has never been part of the registration required template).
Subscription implies paywall; Registration does not. If both are used in a citation, the subscription required link note is displayed. There are no error messages for this condition.
]]
if is_set(Via) then
Via = " " .. wrap( 'via', Via );
end
if UrlAccess == 'registration' then
RegistrationRequired = true
end
if is_set(SubscriptionRequired) then
SubscriptionRequired = sepc .. " " .. cfg.messages['subscription']; --here when 'via' parameter not used but 'subscription' is
elseif is_set(RegistrationRequired) then
SubscriptionRequired = sepc .. " " .. cfg.messages['registration']; --here when 'via' and 'subscription' parameters not used but 'registration' is
end
-- if is_set(AccessDate) then
if is_set(AccessDate) or is_set(AnyoAcceso) then
-- Test if accessdate is given without giving a URL
if sinURL then
table.insert( z.message_tail, { seterror( 'accessdate_missing_url', {}, true ) } );
AccessDate = '';
else
if is_set(AccessDate) then
if is_set(MesAcceso) and is_set(AnyoAcceso) then
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code>, <code>|añoacceso=</code> y <code>|mesacceso=</code>')
elseif is_set(MesAcceso) then
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code> y <code>|mesacceso=</code>')
elseif is_set(AnyoAcceso) then
if string.find(AccessDate, '%sde%s') then
AccessDate = AccessDate .. ' de ' .. AnyoAcceso
else
AccessDate = AccessDate .. seterror('redundant_parameters', '<code>|fechaacceso=</code> y <code>|Añoacceso=</code>');
end
end
elseif is_set(MesAcceso) then
AccessDate = MesAcceso .. ' de ' .. AnyoAcceso
else
AccessDate = AnyoAcceso
end
local retrv_text = " " .. cfg.messages['retrieved']
if (sepc ~= ".") then retrv_text = retrv_text:lower() end
AccessDate = '<span class="reference-accessdate">' .. sepc
.. substitute( retrv_text, {format_date(AccessDate)} ) .. '</span>'
end
elseif is_set(MesAcceso) then
end
if is_set(ID) then ID = sepc .." ".. ID; end
if "tesis" == config.ClaseCita and is_set(Docket) then
ID = sepc .." Docket ".. Docket .. ID;
end
Lista_Identificadores_Formateados = buildidlist( ID_list, {DoiBroken = DoiBroken, IgnoreISBN = IgnoreISBN, Embargo=Embargo, ISBNCorrecto = ISBNCorrecto, ISBNSugerido = ISBNSugerido} );
if is_set(URL) then
URL = " " .. externallink( URL, nil, URLorigin, UrlAccess );
end
-- Set postscript default.
if not is_set (PostScript) then -- if |postscript= has not been set (Postscript is nil which is the default for {{citation}}) and
if (config.ClaseCita ~= "citation") then -- this template is not a citation template
PostScript = '.'; -- must be a cite xxx template so set postscript to default (period)
end
else
if PostScript:lower() == 'none' then -- if |postscript=none then
PostScript = ''; -- no postscript
end
end
if is_set(Quote) or is_set(TransQuote) then
-- Eliminar comillas de Quote
if (Quote:sub(1,1) == '"' and Quote:sub(-1,-1) == '"') or
(Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then
Quote = Quote:sub(2,-2);
end
-- No añadir el punto final a la cita si el campo Quote ya incluye un punto
if Quote:sub(-1,-1) == '.' or Quote:sub(-1,-1) == '?' or
Quote:sub(-1,-1) == '!' then
PostScript = ""
end
-- Eliminar comillas de TransQuote
if (TransQuote:sub(1, 1) == '"' and TransQuote:sub(-1, -1) == '"') or
(Quote:sub(1,1) == '«' and Quote:sub(-1,-1) == '»') then
TransQuote = TransQuote:sub(2, -2);
end
-- No añadir el punto final a la cita si el campo TransQuote ya incluye un punto
if TransQuote:sub(-1,-1) == '.' or TransQuote:sub(-1,-1) == '?' or
TransQuote:sub(-1,-1) == '!' then
PostScript = ""
end
Quote = Quote .. " " .. wrap( 'trans-quoted-title', TransQuote );
TransQuote = wrap( 'trans-quoted-title', TransQuote );
Quote = sepc .." " .. wrap( 'quoted-text', Quote );
end
local Archived
if is_set(ArchiveURL) then
if not is_set(ArchiveDate) then
ArchiveDate = seterror('archive_missing_date');
else
ArchiveDate = format_date(ArchiveDate)
end
if "no" == DeadURL then
local arch_text = cfg.messages['archived'];
if sepc ~= "." then arch_text = arch_text:lower() end
Archived = sepc .. " " .. substitute( cfg.messages['archived-not-dead'],
{ externallink( ArchiveURL, arch_text ), ArchiveDate } );
if not is_set(OriginalURL) then
Archived = Archived .. " " .. seterror('archive_missing_url');
end
elseif is_set(OriginalURL) then
local arch_text = cfg.messages['archived-dead'];
if sepc ~= "." then arch_text = arch_text:lower() end
Archived = sepc .. " " .. substitute( arch_text,
{ externallink( OriginalURL, cfg.messages['original'] ), ArchiveDate } );
else
local arch_text = cfg.messages['archived-missing'];
if sepc ~= "." then arch_text = arch_text:lower() end
Archived = sepc .. " " .. substitute( arch_text,
{ seterror('archive_missing_url'), ArchiveDate } );
end
else
Archived = ""
end
local Lay
if is_set(LayURL) then
if is_set(LayDate) then LayDate = " (" .. format_date(LayDate) .. ")" end
if is_set(LaySource) then
LaySource = " – ''" .. safeforitalics(LaySource) .. "''";
else
LaySource = "";
end
if sepc == '.' then
Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary'] ) .. LaySource .. LayDate
else
Lay = sepc .. " " .. externallink( LayURL, cfg.messages['lay summary']:lower() ) .. LaySource .. LayDate
end
else
Lay = "";
end
if is_set(Transcript) then
if is_set(TranscriptURL) then Transcript = externallink( TranscriptURL, Transcript ); end
elseif is_set(TranscriptURL) then
Transcript = externallink( TranscriptURL, nil, TranscriptURLorigin );
end
local Publisher;
if is_set(Periodical) and
-- not inArray(config.ClaseCita, {"encyclopaedia","web","pressrelease","podcast"}) then
not inArray(config.ClaseCita, {"enciclopedia","web","pressrelease","podcast"}) then
if is_set(PublisherName) then
if is_set(PublicationPlace) then
Publisher = PublicationPlace .. ": " .. PublisherName;
else
Publisher = PublisherName;
end
elseif is_set(PublicationPlace) then
Publisher= PublicationPlace;
else
Publisher = "";
end
if is_set(PublicationDate) then
if is_set(Publisher) then
Publisher = Publisher .. ", " .. wrap( 'published', PublicationDate );
else
Publisher = PublicationDate;
end
end
if is_set(Publisher) then
Publisher = " (" .. Publisher .. ")";
end
else
if is_set(PublicationDate) then
PublicationDate = " (" .. wrap( 'published', format_date(PublicationDate) ) .. ")";
end
if is_set(PublisherName) then
if is_set(PublicationPlace) then
Publisher = sepc .. " " .. PublicationPlace .. ": " .. PublisherName .. PublicationDate;
else
Publisher = sepc .. " " .. PublisherName .. PublicationDate;
end
elseif is_set(PublicationPlace) then
Publisher= sepc .. " " .. PublicationPlace .. PublicationDate;
else
Publisher = PublicationDate;
end
end
-- Several of the above rely upon detecting this as nil, so do it last.
if is_set(Periodical) then
if is_set(Title) or is_set(TitleNote) then
Periodical = sepc .. " " .. wrap( 'italic-title', Periodical )
else
Periodical = wrap( 'italic-title', Periodical )
end
end
--[[
Handle the oddity that is cite speech. This code overrides whatever may be the value assigned to TitleNote (through |department=) and forces it to be " (Speech)" so that
the annotation directly follows the |title= parameter value in the citation rather than the |event= parameter value (if provided).
]]
if "speech" == config.ClaseCita then -- cite speech only
TitleNote = " (Speech)"; -- annotate the citation
if is_set (Periodical) then -- if Periodical, perhaps because of an included |website= or |journal= parameter
if is_set (Conference) then -- and if |event= is set
Conference = Conference .. sepc .. " "; -- then add appropriate punctuation to the end of the Conference variable before rendering
end
end
end
-- Piece all bits together at last. Here, all should be non-nil.
-- We build things this way because it is more efficient in LUA
-- not to keep reassigning to the same string variable over and over.
local tcommon
-- if inArray(config.ClaseCita, {"journal","citation"}) and is_set(Periodical) then
if inArray(config.ClaseCita, {"publicación","citation"}) and is_set(Periodical) then
if is_set(Others) then Others = Others .. sepc .. " " end
tcommon = safejoin( {Others, Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series,
Language, Cartography, Edition, Publisher, Agency, Volume, Issue}, sepc );
else
tcommon = safejoin( {Title, TitleNote, Conference, Periodical, Format, TitleType, Scale, Series, Language,
Volume, Issue, Others, Cartography, Edition, Publisher, Agency}, sepc );
end
if #Lista_Identificadores_Formateados > 0 then
Lista_Identificadores_Formateados = safejoin( { sepc .. " ", table.concat( Lista_Identificadores_Formateados, sepc .. " " ), ID }, sepc );
else
Lista_Identificadores_Formateados = ID;
end
local idcommon = safejoin( { Lista_Identificadores_Formateados, URL, Archived, AccessDate, Via, SubscriptionRequired, Lay, Quote }, sepc );
local text;
local pgtext = Position .. Page .. Pages .. At .. Passage;
if is_set(Authors) then
if is_set(Coauthors) then
Authors = Authors .. A['AuthorSeparator'] .. " " .. Coauthors
end
if is_set(Date) then
Date = " ("..format_date(Date)..")" .. OrigYear .. sepc .. " "
elseif string.sub(Authors,-1,-1) == sepc then
Authors = Authors .. " "
else
Authors = Authors .. sepc .. " "
end
if is_set(Editors) then
local in_text = " ";
local post_text = "";
if is_set(Chapter) then
in_text = in_text .. cfg.messages['in'] .. " "
end
if EditorCount <= 1 then
post_text = ", " .. cfg.messages['editor'];
else
post_text = ", " .. cfg.messages['editors'];
end
if (sepc ~= '.') then in_text = in_text:lower() end
Editors = in_text .. Editors .. post_text;
if (string.sub(Editors,-1,-1) == sepc)
then Editors = Editors .. " "
else Editors = Editors .. sepc .. " "
end
end
text = safejoin( {Authors, Date, Chapter, Place, Editors, tcommon }, sepc );
text = safejoin( {text, pgtext, idcommon}, sepc );
elseif is_set(Editors) then
if is_set(Date) then
if EditorCount <= 1 then
Editors = Editors .. ", " .. cfg.messages['editor'];
else
Editors = Editors .. ", " .. cfg.messages['editors'];
end
Date = " (" .. format_date(Date) ..")" .. OrigYear .. sepc .. " "
else
if EditorCount <= 1 then
Editors = Editors .. " (" .. cfg.messages['editor'] .. ")" .. sepc .. " "
else
Editors = Editors .. " (" .. cfg.messages['editors'] .. ")" .. sepc .. " "
end
end
text = safejoin( {Editors, Date, Chapter, Place, tcommon}, sepc );
text = safejoin( {text, pgtext, idcommon}, sepc );
else
if is_set(Date) then
if ( string.sub(tcommon,-1,-1) ~= sepc )
then Date = sepc .." " .. format_date(Date) .. OrigYear
else Date = " " .. format_date(Date) .. OrigYear
end
end
-- if config.ClaseCita=="journal" and is_set(Periodical) then
if config.ClaseCita=="publicación" and is_set(Periodical) then
text = safejoin( {Chapter, Place, tcommon}, sepc );
text = safejoin( {text, pgtext, Date, idcommon}, sepc );
else
text = safejoin( {Chapter, Place, tcommon, Date}, sepc );
text = safejoin( {text, pgtext, idcommon}, sepc );
end
end
if is_set(PostScript) and PostScript ~= sepc then
text = safejoin( {text, sepc}, sepc ); --Deals with italics, spaces, etc.
text = text:sub(1,-sepc:len()-1);
-- text = text:sub(1,-2); --Remove final separator (assumes that sepc is only one character)
end
text = safejoin( {text, PostScript}, sepc );
-- Now enclose the whole thing in a <span/> element
local options = {};
if is_set(config.ClaseCita) and config.ClaseCita ~= "citation" then
options.class = "citation " .. config.ClaseCita;
else
options.class = "citation";
end
if is_set(Ref) and Ref:lower() ~= "none" then
local id = Ref
if ( "harv" == Ref ) then
local names = {} --table of last names & year
if #a > 0 then
for i,v in ipairs(a) do
names[i] = v.last
if i == 4 then break end
end
elseif #e > 0 then
for i,v in ipairs(e) do
names[i] = v.last
if i == 4 then break end
end
end
-- names[ #names + 1 ] = first_set(Year, anchor_year); -- Year first for legacy citations
-- names[ #names + 1 ] = first_set(Year, ''); -- Year first for legacy citations
names[ #names + 1 ] = first_set(wYear, wfecha, ''); -- Year first for legacy citations
id = anchorid(names)
end
options.id = id;
end
if string.len(text:gsub("<span[^>/]*>.-</span>", ""):gsub("%b<>","")) <= 2 then
z.error_categories = {};
text = seterror('empty_citation');
z.message_tail = {};
end
if is_set(options.id) then
text = '<span id="' .. mw.uri.anchorEncode(options.id) ..'" class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>";
else
text = '<span class="' .. mw.text.nowiki(options.class) .. '">' .. text .. "</span>";
end
local empty_span = '<span style="display:none;"> </span>';
-- Note: Using display: none on then COinS span breaks some clients.
local OCinS = '<span title="' .. OCinSoutput .. '" class="Z3988">' .. empty_span .. '</span>';
text = text .. OCinS;
if #z.message_tail ~= 0 then
text = text .. " ";
for i,v in ipairs( z.message_tail ) do
if is_set(v[1]) then
if i == #z.message_tail then
text = text .. errorcomment( v[1], v[2] );
else
text = text .. errorcomment( v[1] .. "; ", v[2] );
end
end
end
end
no_tracking_cats = no_tracking_cats:lower();
if inArray(no_tracking_cats, {"", "no", "false", "n"}) then
for _, v in ipairs( z.error_categories ) do
text = text .. '[[Category:' .. v ..']]';
end
end
return text
end
-- This is used by templates such as {{cite book}} to create the actual citation text.
function z.cita(frame)
local pframe = frame:getParent()
if nil ~= string.find( frame:getTitle(), 'sandbox', 1, true ) then -- did the {{#invoke:}} use sandbox version?
cfg = mw.loadData('Módulo:Citas/Configuración/pruebas' ); -- load sandbox versions of Configuration and Whitelist and ...
whitelist = mw.loadData('Módulo:Citas/Whitelist/pruebas' );
dates = require ('Módulo:Citas/ValidaciónFechas/pruebas').dates -- ... sandbox version of date validation code
else -- otherwise
cfg = mw.loadData('Módulo:Citas/Configuración' ); -- load live versions of Configuration and Whitelist and ...
whitelist = mw.loadData('Módulo:Citas/Whitelist' );
dates = require ('Módulo:Citas/ValidaciónFechas').dates -- ... live version of date validation code
end
local args = {};
local suggestions = {};
local error_text, error_state;
local config = {};
for k, v in pairs( frame.args ) do
config[k] = v;
args[k] = v;
end
for k, v in pairs( pframe.args ) do
if v ~= '' then
if not validate( k ) then
error_text = "";
if type( k ) ~= 'string' then
-- Exclude empty numbered parameters
if v:match("%S+") ~= nil then
error_text, error_state = seterror( 'text_ignored', {v}, true );
end
elseif validate( k:lower() ) then
error_text, error_state = seterror( 'parameter_ignored_suggest', {k, k:lower()}, true );
else
if #suggestions == 0 then
suggestions = mw.loadData( 'Módulo:Citas/Sugerencias' );
end
if suggestions[ k:lower() ] ~= nil then
error_text, error_state = seterror( 'parameter_ignored_suggest', {k, suggestions[ k:lower() ]}, true );
elseif cfg.parametros_a_implementar[k:lower()] then
error_text, error_state = seterror( 'parametro_por_implementar', {k}, true );
else
error_text, error_state = seterror( 'parameter_ignored', {k}, true );
end
end
if error_text ~= '' then
table.insert( z.message_tail, {error_text, error_state} );
end
end
args[k] = v;
elseif args[k] ~= nil or (k == 'postscript') then
args[k] = v;
end
end
return citation0( config, args)
end
return z
4f84efb6694d85e77d9e4e2599094c76e8432070
Módulo:Date
828
51
101
100
2024-01-02T19:49:40Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
-- Date functions for use by other modules.
-- I18N and time zones are not supported.
local MINUS = '−' -- Unicode U+2212 MINUS SIGN
local floor = math.floor
local Date, DateDiff, diffmt -- forward declarations
local uniq = { 'unique identifier' }
local function is_date(t)
-- The system used to make a date read-only means there is no unique
-- metatable that is conveniently accessible to check.
return type(t) == 'table' and t._id == uniq
end
local function is_diff(t)
return type(t) == 'table' and getmetatable(t) == diffmt
end
local function _list_join(list, sep)
return table.concat(list, sep)
end
local function collection()
-- Return a table to hold items.
return {
n = 0,
add = function (self, item)
self.n = self.n + 1
self[self.n] = item
end,
join = _list_join,
}
end
local function strip_to_nil(text)
-- If text is a string, return its trimmed content, or nil if empty.
-- Otherwise return text (convenient when Date fields are provided from
-- another module which may pass a string, a number, or another type).
if type(text) == 'string' then
text = text:match('(%S.-)%s*$')
end
return text
end
local function is_leap_year(year, calname)
-- Return true if year is a leap year.
if calname == 'Julian' then
return year % 4 == 0
end
return (year % 4 == 0 and year % 100 ~= 0) or year % 400 == 0
end
local function days_in_month(year, month, calname)
-- Return number of days (1..31) in given month (1..12).
if month == 2 and is_leap_year(year, calname) then
return 29
end
return ({ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 })[month]
end
local function h_m_s(time)
-- Return hour, minute, second extracted from fraction of a day.
time = floor(time * 24 * 3600 + 0.5) -- number of seconds
local second = time % 60
time = floor(time / 60)
return floor(time / 60), time % 60, second
end
local function hms(date)
-- Return fraction of a day from date's time, where (0 <= fraction < 1)
-- if the values are valid, but could be anything if outside range.
return (date.hour + (date.minute + date.second / 60) / 60) / 24
end
local function julian_date(date)
-- Return jd, jdz from a Julian or Gregorian calendar date where
-- jd = Julian date and its fractional part is zero at noon
-- jdz = same, but assume time is 00:00:00 if no time given
-- http://www.tondering.dk/claus/cal/julperiod.php#formula
-- Testing shows this works for all dates from year -9999 to 9999!
-- JDN 0 is the 24-hour period starting at noon UTC on Monday
-- 1 January 4713 BC = (-4712, 1, 1) Julian calendar
-- 24 November 4714 BC = (-4713, 11, 24) Gregorian calendar
local offset
local a = floor((14 - date.month)/12)
local y = date.year + 4800 - a
if date.calendar == 'Julian' then
offset = floor(y/4) - 32083
else
offset = floor(y/4) - floor(y/100) + floor(y/400) - 32045
end
local m = date.month + 12*a - 3
local jd = date.day + floor((153*m + 2)/5) + 365*y + offset
if date.hastime then
jd = jd + hms(date) - 0.5
return jd, jd
end
return jd, jd - 0.5
end
local function set_date_from_jd(date)
-- Set the fields of table date from its Julian date field.
-- Return true if date is valid.
-- http://www.tondering.dk/claus/cal/julperiod.php#formula
-- This handles the proleptic Julian and Gregorian calendars.
-- Negative Julian dates are not defined but they work.
local calname = date.calendar
local low, high -- min/max limits for date ranges −9999-01-01 to 9999-12-31
if calname == 'Gregorian' then
low, high = -1930999.5, 5373484.49999
elseif calname == 'Julian' then
low, high = -1931076.5, 5373557.49999
else
return
end
local jd = date.jd
if not (type(jd) == 'number' and low <= jd and jd <= high) then
return
end
local jdn = floor(jd)
if date.hastime then
local time = jd - jdn -- 0 <= time < 1
if time >= 0.5 then -- if at or after midnight of next day
jdn = jdn + 1
time = time - 0.5
else
time = time + 0.5
end
date.hour, date.minute, date.second = h_m_s(time)
else
date.second = 0
date.minute = 0
date.hour = 0
end
local b, c
if calname == 'Julian' then
b = 0
c = jdn + 32082
else -- Gregorian
local a = jdn + 32044
b = floor((4*a + 3)/146097)
c = a - floor(146097*b/4)
end
local d = floor((4*c + 3)/1461)
local e = c - floor(1461*d/4)
local m = floor((5*e + 2)/153)
date.day = e - floor((153*m + 2)/5) + 1
date.month = m + 3 - 12*floor(m/10)
date.year = 100*b + d - 4800 + floor(m/10)
return true
end
local function fix_numbers(numbers, y, m, d, H, M, S, partial, hastime, calendar)
-- Put the result of normalizing the given values in table numbers.
-- The result will have valid m, d values if y is valid; caller checks y.
-- The logic of PHP mktime is followed where m or d can be zero to mean
-- the previous unit, and -1 is the one before that, etc.
-- Positive values carry forward.
local date
if not (1 <= m and m <= 12) then
date = Date(y, 1, 1)
if not date then return end
date = date + ((m - 1) .. 'm')
y, m = date.year, date.month
end
local days_hms
if not partial then
if hastime and H and M and S then
if not (0 <= H and H <= 23 and
0 <= M and M <= 59 and
0 <= S and S <= 59) then
days_hms = hms({ hour = H, minute = M, second = S })
end
end
if days_hms or not (1 <= d and d <= days_in_month(y, m, calendar)) then
date = date or Date(y, m, 1)
if not date then return end
date = date + (d - 1 + (days_hms or 0))
y, m, d = date.year, date.month, date.day
if days_hms then
H, M, S = date.hour, date.minute, date.second
end
end
end
numbers.year = y
numbers.month = m
numbers.day = d
if days_hms then
-- Don't set H unless it was valid because a valid H will set hastime.
numbers.hour = H
numbers.minute = M
numbers.second = S
end
end
local function set_date_from_numbers(date, numbers, options)
-- Set the fields of table date from numeric values.
-- Return true if date is valid.
if type(numbers) ~= 'table' then
return
end
local y = numbers.year or date.year
local m = numbers.month or date.month
local d = numbers.day or date.day
local H = numbers.hour
local M = numbers.minute or date.minute or 0
local S = numbers.second or date.second or 0
local need_fix
if y and m and d then
date.partial = nil
if not (-9999 <= y and y <= 9999 and
1 <= m and m <= 12 and
1 <= d and d <= days_in_month(y, m, date.calendar)) then
if not date.want_fix then
return
end
need_fix = true
end
elseif y and date.partial then
if d or not (-9999 <= y and y <= 9999) then
return
end
if m and not (1 <= m and m <= 12) then
if not date.want_fix then
return
end
need_fix = true
end
else
return
end
if date.partial then
H = nil -- ignore any time
M = nil
S = nil
else
if H then
-- It is not possible to set M or S without also setting H.
date.hastime = true
else
H = 0
end
if not (0 <= H and H <= 23 and
0 <= M and M <= 59 and
0 <= S and S <= 59) then
if date.want_fix then
need_fix = true
else
return
end
end
end
date.want_fix = nil
if need_fix then
fix_numbers(numbers, y, m, d, H, M, S, date.partial, date.hastime, date.calendar)
return set_date_from_numbers(date, numbers, options)
end
date.year = y -- -9999 to 9999 ('n BC' → year = 1 - n)
date.month = m -- 1 to 12 (may be nil if partial)
date.day = d -- 1 to 31 (* = nil if partial)
date.hour = H -- 0 to 59 (*)
date.minute = M -- 0 to 59 (*)
date.second = S -- 0 to 59 (*)
if type(options) == 'table' then
for _, k in ipairs({ 'am', 'era', 'format' }) do
if options[k] then
date.options[k] = options[k]
end
end
end
return true
end
local function make_option_table(options1, options2)
-- If options1 is a string, return a table with its settings, or
-- if it is a table, use its settings.
-- Missing options are set from table options2 or defaults.
-- If a default is used, a flag is set so caller knows the value was not intentionally set.
-- Valid option settings are:
-- am: 'am', 'a.m.', 'AM', 'A.M.'
-- 'pm', 'p.m.', 'PM', 'P.M.' (each has same meaning as corresponding item above)
-- era: 'BCMINUS', 'BCNEGATIVE', 'BC', 'B.C.', 'BCE', 'B.C.E.', 'AD', 'A.D.', 'CE', 'C.E.'
-- Option am = 'am' does not mean the hour is AM; it means 'am' or 'pm' is used, depending on the hour,
-- and am = 'pm' has the same meaning.
-- Similarly, era = 'BC' means 'BC' is used if year <= 0.
-- BCMINUS displays a MINUS if year < 0 and the display format does not include %{era}.
-- BCNEGATIVE is similar but displays a hyphen.
local result = { bydefault = {} }
if type(options1) == 'table' then
result.am = options1.am
result.era = options1.era
elseif type(options1) == 'string' then
-- Example: 'am:AM era:BC' or 'am=AM era=BC'.
for item in options1:gmatch('%S+') do
local lhs, rhs = item:match('^(%w+)[:=](.+)$')
if lhs then
result[lhs] = rhs
end
end
end
options2 = type(options2) == 'table' and options2 or {}
local defaults = { am = 'am', era = 'a. C.' }
for k, v in pairs(defaults) do
if not result[k] then
if options2[k] then
result[k] = options2[k]
else
result[k] = v
result.bydefault[k] = true
end
end
end
return result
end
local ampm_options = {
-- lhs = input text accepted as an am/pm option
-- rhs = code used internally
['am'] = 'am',
['AM'] = 'AM',
['a.m.'] = 'a.m.',
['A.M.'] = 'A.M.',
['pm'] = 'am', -- same as am
['PM'] = 'AM',
['p.m.'] = 'a.m.',
['P.M.'] = 'A.M.',
}
local era_text = {
-- Text for displaying an era with a positive year (after adjusting
-- by replacing year with 1 - year if date.year <= 0).
-- options.era = { year<=0 , year>0 }
['BCMINUS'] = { 'BC' , '' , isbc = true, sign = MINUS },
['BCNEGATIVE'] = { 'BC' , '' , isbc = true, sign = '-' },
['BC'] = { 'BC' , '' , isbc = true },
['B.C.'] = { 'B.C.' , '' , isbc = true },
['BCE'] = { 'BCE' , '' , isbc = true },
['B.C.E.'] = { 'B.C.E.', '' , isbc = true },
['AD'] = { 'BC' , 'AD' },
['A.D.'] = { 'B.C.' , 'A.D.' },
['CE'] = { 'BCE' , 'CE' },
['C.E.'] = { 'B.C.E.', 'C.E.' },
--ABREVIATURAS EN ESPAÑOL--
['a. C.'] = { 'a. C.' , '' , isbc = true }, --antes de Cristo
['a. de C.'] = { 'a. de C.' , '' , isbc = true }, --antes de Cristo
['a. de J. C.'] = { 'a. de J. C.' , '' , isbc = true }, --antes de Jesucristo
['a. J. C.'] = { 'a. J. C.' , '' , isbc = true }, --antes de Jesucristo
['AEC'] = { 'AEC' , '' , isbc = true }, --antes de la era común
['a. e. c.'] = { 'a. e. c.' , '' , isbc = true }, --antes de la era común
['a. n. e.'] = { 'a. n. e.' , '' , isbc = true }, --antes de nuestra era
['a. e. v.'] = { 'a. e. v.' , '' , isbc = true }, --antes de la era vulgar
['d. C.'] = { 'a. C.' , 'd. C.' }, --después de Cristo
['d. de C.'] = { 'a. de C.' , 'd. de C.' }, --después de Cristo
['d. de J. C.'] = { 'a. de J. C.' , 'd. de J. C.' }, --después de Jesucristo
['d. J. C.'] = { 'a. J. C.' , 'd. J. C.' }, --después de Jesucristo
['EC'] = { 'AEC' , 'EC' }, --era común
['e. c.'] = { 'a. e. c.' , 'e. c.' }, --era común
['n. e.'] = { 'a. n. e.' , 'n. e.' }, --nuestra era
['e. v.'] = { 'a. e. v.' , 'e. v.' }, --era vulgar
['A. D.'] = { 'a. C.' , 'A. D.' }, --anno Domini
}
local function get_era_for_year(era, year)
return (era_text[era] or era_text['a. C.'])[year > 0 and 2 or 1]:gsub(" ", " ") or ''
end
local function strftime(date, format, options)
-- Return date formatted as a string using codes similar to those
-- in the C strftime library function.
local sformat = string.format
local shortcuts = {
['%c'] = '%-I:%M %p %-d de %B de %-Y %{era}', -- date and time: 2:30 pm 1 de abril de 2016
['%C'] = '%-d de %B de %-Y, %H:%M:%S', -- date and time: 1 de abril de 2016, 14:30
['%x'] = '%-d de %B de %-Y %{era}', -- date: 1 de abril de 2016
['%X'] = '%-I:%M %p', -- time: 2:30 pm
}
if shortcuts[format] then
format = shortcuts[format]
end
local codes = {
a = { field = 'dayabbr' },
A = { field = 'dayname' },
b = { field = 'monthabbr' },
B = { field = 'monthname' },
u = { fmt = '%d' , field = 'dowiso' },
w = { fmt = '%d' , field = 'dow' },
d = { fmt = '%02d', fmt2 = '%d', field = 'day' },
m = { fmt = '%02d', fmt2 = '%d', field = 'month' },
Y = { fmt = '%04d', fmt2 = '%d', field = 'year' },
H = { fmt = '%02d', fmt2 = '%d', field = 'hour' },
M = { fmt = '%02d', fmt2 = '%d', field = 'minute' },
S = { fmt = '%02d', fmt2 = '%d', field = 'second' },
j = { fmt = '%03d', fmt2 = '%d', field = 'dayofyear' },
I = { fmt = '%02d', fmt2 = '%d', field = 'hour', special = 'hour12' },
p = { field = 'hour', special = 'am' },
}
options = make_option_table(options, date.options)
local amopt = options.am
local eraopt = options.era
local function replace_code(spaces, modifier, id)
local code = codes[id]
if code then
local fmt = code.fmt
if modifier == '-' and code.fmt2 then
fmt = code.fmt2
end
local value = date[code.field]
if not value then
return nil -- an undefined field in a partial date
end
local special = code.special
if special then
if special == 'hour12' then
value = value % 12
value = value == 0 and 12 or value
elseif special == 'am' then
local ap = ({
['a.m.'] = { 'a.m.', 'p.m.' },
['AM'] = { 'AM', 'PM' },
['A.M.'] = { 'A.M.', 'P.M.' },
})[ampm_options[amopt]] or { 'am', 'pm' }
return (spaces == '' and '' or ' ') .. (value < 12 and ap[1] or ap[2])
end
end
if code.field == 'year' then
local sign = (era_text[eraopt] or {}).sign
if not sign or format:find('%{era}', 1, true) then
sign = ''
if value <= 0 then
value = 1 - value
end
else
if value >= 0 then
sign = ''
else
value = -value
end
end
return spaces .. sign .. sformat(fmt, value)
end
return spaces .. (fmt and sformat(fmt, value) or value)
end
end
local function replace_property(spaces, id)
if id == 'era' then
-- Special case so can use local era option.
local result = get_era_for_year(eraopt, date.year)
if result == '' then
return ''
end
return (spaces == '' and '' or ' ') .. result
end
local result = date[id]
if type(result) == 'string' then
return spaces .. result
end
if type(result) == 'number' then
return spaces .. tostring(result)
end
if type(result) == 'boolean' then
return spaces .. (result and '1' or '0')
end
-- This occurs if id is an undefined field in a partial date, or is the name of a function.
return nil
end
local PERCENT = '\127PERCENT\127'
return (format
:gsub('%%%%', PERCENT)
:gsub('(%s*)%%{(%w+)}', replace_property)
:gsub('(%s*)%%(%-?)(%a)', replace_code)
:gsub(PERCENT, '%%')
)
end
local function _date_text(date, fmt, options)
-- Return a formatted string representing the given date.
if not is_date(date) then
error('date:text: need a date (use "date:text()" with a colon)', 2)
end
if type(fmt) == 'string' and fmt:match('%S') then
if fmt:find('%', 1, true) then
return strftime(date, fmt, options)
end
elseif date.partial then
fmt = date.month and 'my' or 'y'
else
fmt = 'dmy'
if date.hastime then
fmt = (date.second > 0 and 'hms ' or 'hm ') .. fmt
end
end
local function bad_format()
-- For consistency with other format processing, return given format
-- (or cleaned format if original was not a string) if invalid.
return mw.text.nowiki(fmt)
end
if date.partial then
-- Ignore days in standard formats like 'ymd'.
if fmt == 'ym' or fmt == 'ymd' then
fmt = date.month and '%Y-%m %{era}' or '%Y %{era}'
elseif fmt == 'my' or fmt == 'dmy' or fmt == 'mdy' then
fmt = date.month and '%B %-Y %{era}' or '%-Y %{era}'
elseif fmt == 'y' then
fmt = date.month and '%-Y %{era}' or '%-Y %{era}'
else
return bad_format()
end
return strftime(date, fmt, options)
end
local function hm_fmt()
local plain = make_option_table(options, date.options).bydefault.am
return plain and '%H:%M' or '%-I:%M %p'
end
local need_time = date.hastime
local t = collection()
for item in fmt:gmatch('%S+') do
local f
if item == 'hm' then
f = hm_fmt()
need_time = false
elseif item == 'hms' then
f = '%H:%M:%S'
need_time = false
elseif item == 'ymd' then
f = '%Y-%m-%d %{era}'
elseif item == 'mdy' then
f = '%B %-d, %-Y %{era}'
elseif item == 'dmy' then
f = '%-d de %B de %-Y %{era}'
else
return bad_format()
end
t:add(f)
end
fmt = t:join(' ')
if need_time then
fmt = hm_fmt() .. ' ' .. fmt
end
return strftime(date, fmt, options)
end
local day_info = {
-- 0=Sun to 6=Sat
[0] = { 'do', 'domingo' },
{ 'lu', 'lunes' },
{ 'ma', 'martes' },
{ 'mi', 'miércoles' },
{ 'ju', 'jueves' },
{ 'vi', 'viernes' },
{ 'sa', 'sábado' },
}
local month_info = {
-- 1=Jan to 12=Dec
{ 'ene', 'enero' },
{ 'feb', 'febrero' },
{ 'mar', 'marzo' },
{ 'abr', 'abril' },
{ 'may', 'mayo' },
{ 'jun', 'junio' },
{ 'jul', 'julio' },
{ 'ago', 'agosto' },
{ 'sep', 'septiembre' },
{ 'oct', 'octubre' },
{ 'nov', 'noviembre' },
{ 'dic', 'diciembre' },
}
for k,v in pairs(month_info) do month_info[ v[1] ], month_info[ v[2] ] = v, v end
local function name_to_number(text, translate)
if type(text) == 'string' then
return translate['xx' .. text:lower():gsub('é', 'e'):gsub('á', 'a')]
end
end
local function day_number(text)
return name_to_number(text, {
xxdo = 0, xxdomingo = 0,
xxlu = 1, xxlunes = 1, xxlune = 1,
xxma = 2, xxmartes = 2, xxmarte = 2,
xxmi = 3, xxmiercoles = 3, xxmiercole = 3,
xxju = 4, xxjueves = 4, xxjueve = 4,
xxvi = 5, xxviernes = 5, xxvierne = 5,
xxsat = 6, xxsabado = 6
})
end
local function month_number(text)
return name_to_number(text, {
xxene = 1, xxenero = 1,
xxfeb = 2, xxfebrero = 2,
xxmar = 3, xxmarzo = 3,
xxabr = 4, xxabril = 4,
xxmay = 5, xxmayo = 5,
xxjun = 6, xxjunio = 6,
xxjul = 7, xxjulio = 7,
xxago = 8, xxagosto = 8,
xxsep = 9, xxseptiembre = 9, xxsept = 9,
xxoct = 10, xxoctubre = 10,
xxnov = 11, xxnoviembre = 11,
xxdic = 12, xxdiciembre = 12,
})
end
local function _list_text(list, fmt)
-- Return a list of formatted strings from a list of dates.
if not type(list) == 'table' then
error('date:list:text: need "list:text()" with a colon', 2)
end
local result = { join = _list_join }
for i, date in ipairs(list) do
result[i] = date:text(fmt)
end
return result
end
local function _date_list(date, spec)
-- Return a possibly empty numbered table of dates meeting the specification.
-- Dates in the list are in ascending order (oldest date first).
-- The spec should be a string of form "<count> <day> <op>"
-- where each item is optional and
-- count = number of items wanted in list
-- day = abbreviation or name such as Mon or Monday
-- op = >, >=, <, <= (default is > meaning after date)
-- If no count is given, the list is for the specified days in date's month.
-- The default day is date's day.
-- The spec can also be a positive or negative number:
-- -5 is equivalent to '5 <'
-- 5 is equivalent to '5' which is '5 >'
if not is_date(date) then
error('date:list: need a date (use "date:list()" with a colon)', 2)
end
local list = { text = _list_text }
if date.partial then
return list
end
local count, offset, operation
local ops = {
['>='] = { before = false, include = true },
['>'] = { before = false, include = false },
['<='] = { before = true , include = true },
['<'] = { before = true , include = false },
}
if spec then
if type(spec) == 'number' then
count = floor(spec + 0.5)
if count < 0 then
count = -count
operation = ops['<']
end
elseif type(spec) == 'string' then
local num, day, op = spec:match('^%s*(%d*)%s*(%a*)%s*([<>=]*)%s*$')
if not num then
return list
end
if num ~= '' then
count = tonumber(num)
end
if day ~= '' then
local dow = day_number(day:gsub('[sS]$', '')) -- accept plural days
if not dow then
return list
end
offset = dow - date.dow
end
operation = ops[op]
else
return list
end
end
offset = offset or 0
operation = operation or ops['>']
local datefrom, dayfirst, daylast
if operation.before then
if offset > 0 or (offset == 0 and not operation.include) then
offset = offset - 7
end
if count then
if count > 1 then
offset = offset - 7*(count - 1)
end
datefrom = date + offset
else
daylast = date.day + offset
dayfirst = daylast % 7
if dayfirst == 0 then
dayfirst = 7
end
end
else
if offset < 0 or (offset == 0 and not operation.include) then
offset = offset + 7
end
if count then
datefrom = date + offset
else
dayfirst = date.day + offset
daylast = date.monthdays
end
end
if not count then
if daylast < dayfirst then
return list
end
count = floor((daylast - dayfirst)/7) + 1
datefrom = Date(date, {day = dayfirst})
end
for i = 1, count do
if not datefrom then break end -- exceeds date limits
list[i] = datefrom
datefrom = datefrom + 7
end
return list
end
-- A table to get the current date/time (UTC), but only if needed.
local current = setmetatable({}, {
__index = function (self, key)
local d = os.date('!*t')
self.year = d.year
self.month = d.month
self.day = d.day
self.hour = d.hour
self.minute = d.min
self.second = d.sec
return rawget(self, key)
end })
local function extract_date(newdate, text)
-- Parse the date/time in text and return n, o where
-- n = table of numbers with date/time fields
-- o = table of options for AM/PM or AD/BC or format, if any
-- or return nothing if date is known to be invalid.
-- Caller determines if the values in n are valid.
-- A year must be positive ('1' to '9999'); use 'BC' for BC.
-- In a y-m-d string, the year must be four digits to avoid ambiguity
-- ('0001' to '9999'). The only way to enter year <= 0 is by specifying
-- the date as three numeric parameters like ymd Date(-1, 1, 1).
-- Dates of form d/m/y, m/d/y, y/m/d are [partially] rejected as potentially ambiguous.
local date, options = {}, {}
if text:sub(-1) == 'Z' then
-- Extract date/time from a Wikidata timestamp.
-- The year can be 1 to 16 digits but this module handles 1 to 4 digits only.
-- Examples: '+2016-06-21T14:30:00Z', '-0000000180-00-00T00:00:00Z'.
local sign, y, m, d, H, M, S = text:match('^([+%-])(%d+)%-(%d%d)%-(%d%d)T(%d%d):(%d%d):(%d%d)Z$')
if sign then
y = tonumber(y)
if sign == '-' and y > 0 then
y = -y
end
if y <= 0 then
options.era = 'a. C.' -- Sets the era when the year is negative on the timestamp
end
date.year = y
m = tonumber(m)
d = tonumber(d)
H = tonumber(H)
M = tonumber(M)
S = tonumber(S)
if m == 0 then
newdate.partial = true
return date, options
end
date.month = m
if d == 0 then
newdate.partial = true
return date, options
end
date.day = d
if H > 0 or M > 0 or S > 0 then
date.hour = H
date.minute = M
date.second = S
end
return date, options
end
return
end
local a, b, c = text:match('^(%d+)[-./](%d+)[-./](%d+)$')
if a --[[ and b and c --]] then
a = tonumber(a)
b = tonumber(b)
c = tonumber(c)
--[[ -- use extract_ymd for this
if a > 31 and m <= 12 and c > 12 then
date.year, date.month, date.day = a, b, c
options.format = 'ymd'
newdate.partial = true
return date, options
else--]]
if a > 12 and b <= 12 and c > 31 then
date.year, date.month, date.day = c, b, a
options.format = 'dmy'
newdate.partial = true
return date, options
elseif a <= 12 and b > 12 and c > 31 then
date.year, date.month, date.day = c, a, b
options.format = 'mdy'
newdate.partial = true
return date, options
end
end
local function extract_ymd(item)
-- Called when no day or month has been set.
local y, m, d = item:match('^(%d%d%d%d)[-./](%w+)[-./](%d%d?)$')
if y then
if date.year then
return
end
if m:match('^%d%d?$') then
m = tonumber(m)
else
m = month_number(m)
end
if m then
date.year = tonumber(y)
date.month = m
date.day = tonumber(d)
return true
end
end
end
local function extract_day_or_year(item)
-- Called when a day would be valid, or
-- when a year would be valid if no year has been set and partial is set.
local number, suffix = item:match('^(%d%d?%d?%d?)(.*)$')
if number then
local n = tonumber(number)
if #number <= 2 and n <= 31 then
suffix = suffix:lower()
if suffix == '' or suffix == 'st' or suffix == 'nd' or suffix == 'rd' or suffix == 'th' then
date.day = n
return true
end
elseif suffix == '' and newdate.partial and not date.year then
date.year = n
return true
end
end
end
local function extract_month(item)
-- A month must be given as a name or abbreviation; a number could be ambiguous.
local m = month_number(item)
if m then
date.month = m
return true
end
end
local function extract_time(item)
local h, m, s = item:match('^(%d%d?):(%d%d)(:?%d*)$')
if date.hour or not h then
return
end
if s ~= '' then
s = s:match('^:(%d%d)$')
if not s then
return
end
end
date.hour = tonumber(h)
date.minute = tonumber(m)
date.second = tonumber(s) -- nil if empty string
return true
end
local item_count = 0
local index_time
local function set_ampm(item)
local H = date.hour
if H and not options.am and index_time + 1 == item_count then
options.am = ampm_options[item] -- caller checked this is not nil
if item:match('^[Aa]') then
if not (1 <= H and H <= 12) then
return
end
if H == 12 then
date.hour = 0
end
else
if not (1 <= H and H <= 23) then
return
end
if H <= 11 then
date.hour = H + 12
end
end
return true
end
end
--Filtrar abreviaturas de era
for key,value in pairs(era_text) do
if string.find(text, key) ~= nil then
options.era = key
text = string.gsub(text, key, '')
break
end
end
for item in text:gsub(',', ' '):gsub('del?', ''):gsub(' ', ' '):gmatch('%S+') do
item_count = item_count + 1
if era_text[item] then
-- Era is accepted in peculiar places.
if options.era then
return
end
options.era = item
elseif ampm_options[item] then
if not set_ampm(item) then
return
end
elseif item:find(':', 1, true) then
if not extract_time(item) then
return
end
index_time = item_count
elseif date.day and date.month then
if date.year then
return -- should be nothing more so item is invalid
end
if not item:match('^(%d%d?%d?%d?)$') then
return
end
date.year = tonumber(item)
elseif day_number(item) then
--catch month day case
elseif date.day then
if not extract_month(item) then
return
end
elseif date.month then
if not extract_day_or_year(item) then
return
end
elseif extract_month(item) then
options.format = 'mdy'
elseif extract_ymd(item) then
options.format = 'ymd'
elseif extract_day_or_year(item) then
if date.day then
options.format = 'dmy'
end
else
--return not return if item not recognized
end
end
if not date.year or date.year == 0 then
return
end
local era = era_text[options.era]
if era and era.isbc then
date.year = 1 - date.year
end
return date, options
end
local function autofill(date1, date2)
-- Fill any missing month or day in each date using the
-- corresponding component from the other date, if present,
-- or with 1 if both dates are missing the month or day.
-- This gives a good result for calculating the difference
-- between two partial dates when no range is wanted.
-- Return filled date1, date2 (two full dates).
local function filled(a, b)
local fillmonth, fillday
if not a.month then
fillmonth = b.month or 1
end
if not a.day then
fillday = b.day or 1
end
if fillmonth or fillday then -- need to create a new date
if (fillmonth or a.month) == 2 and (fillday or a.day) == 29 then
-- Avoid invalid date, for example with {{age|2013|29 Feb 2016}} or {{age|Feb 2013|29 Jan 2015}}.
if not is_leap_year(a.year, a.calendar) then
fillday = 28
end
end
a = Date(a, { month = fillmonth, day = fillday })
end
return a
end
return filled(date1, date2), filled(date2, date1)
end
local function date_add_sub(lhs, rhs, is_sub)
-- Return a new date from calculating (lhs + rhs) or (lhs - rhs),
-- or return nothing if invalid.
-- The result is nil if the calculated date exceeds allowable limits.
-- Caller ensures that lhs is a date; its properties are copied for the new date.
if lhs.partial then
-- Adding to a partial is not supported.
-- Can subtract a date or partial from a partial, but this is not called for that.
return
end
local function is_prefix(text, word, minlen)
local n = #text
return (minlen or 1) <= n and n <= #word and text == word:sub(1, n)
end
local function do_days(n)
local forcetime, jd
if floor(n) == n then
jd = lhs.jd
else
forcetime = not lhs.hastime
jd = lhs.jdz
end
jd = jd + (is_sub and -n or n)
if forcetime then
jd = tostring(jd)
if not jd:find('.', 1, true) then
jd = jd .. '.0'
end
end
return Date(lhs, 'juliandate', jd)
end
if type(rhs) == 'number' then
-- Add/subtract days, including fractional days.
return do_days(rhs)
end
if type(rhs) == 'string' then
-- rhs is a single component like '26m' or '26 months' (with optional sign).
-- Fractions like '3.25d' are accepted for the units which are handled as days.
local sign, numstr, id = rhs:match('^%s*([+-]?)([%d%.]+)%s*(%a+)$')
if sign then
if sign == '-' then
is_sub = not (is_sub and true or false)
end
local y, m, days
local num = tonumber(numstr)
if not num then
return
end
id = id:lower()
if is_prefix(id, 'years') then
y = num
m = 0
elseif is_prefix(id, 'months') then
y = floor(num / 12)
m = num % 12
elseif is_prefix(id, 'weeks') then
days = num * 7
elseif is_prefix(id, 'days') then
days = num
elseif is_prefix(id, 'hours') then
days = num / 24
elseif is_prefix(id, 'minutes', 3) then
days = num / (24 * 60)
elseif is_prefix(id, 'seconds') then
days = num / (24 * 3600)
else
return
end
if days then
return do_days(days)
end
if numstr:find('.', 1, true) then
return
end
if is_sub then
y = -y
m = -m
end
assert(-11 <= m and m <= 11)
y = lhs.year + y
m = lhs.month + m
if m > 12 then
y = y + 1
m = m - 12
elseif m < 1 then
y = y - 1
m = m + 12
end
local d = math.min(lhs.day, days_in_month(y, m, lhs.calendar))
return Date(lhs, y, m, d)
end
end
if is_diff(rhs) then
local days = rhs.age_days
if (is_sub or false) ~= (rhs.isnegative or false) then
days = -days
end
return lhs + days
end
end
local full_date_only = {
dayabbr = true,
dayname = true,
dow = true,
dayofweek = true,
dowiso = true,
dayofweekiso = true,
dayofyear = true,
gsd = true,
juliandate = true,
jd = true,
jdz = true,
jdnoon = true,
}
-- Metatable for a date's calculated fields.
local datemt = {
__index = function (self, key)
if rawget(self, 'partial') then
if full_date_only[key] then return end
if key == 'monthabbr' or key == 'monthdays' or key == 'monthname' then
if not self.month then return end
end
end
local value
if key == 'dayabbr' then
value = day_info[self.dow][1]
elseif key == 'dayname' then
value = day_info[self.dow][2]
elseif key == 'dow' then
value = (self.jdnoon + 1) % 7 -- day-of-week 0=Sun to 6=Sat
elseif key == 'dayofweek' then
value = self.dow
elseif key == 'dowiso' then
value = (self.jdnoon % 7) + 1 -- ISO day-of-week 1=Mon to 7=Sun
elseif key == 'dayofweekiso' then
value = self.dowiso
elseif key == 'dayofyear' then
local first = Date(self.year, 1, 1, self.calendar).jdnoon
value = self.jdnoon - first + 1 -- day-of-year 1 to 366
elseif key == 'era' then
-- Era text (never a negative sign) from year and options.
value = get_era_for_year(self.options.era, self.year)
elseif key == 'format' then
value = self.options.format or 'dmy'
elseif key == 'gsd' then
-- GSD = 1 from 00:00:00 to 23:59:59 on 1 January 1 AD Gregorian calendar,
-- which is from jd 1721425.5 to 1721426.49999.
value = floor(self.jd - 1721424.5)
elseif key == 'juliandate' or key == 'jd' or key == 'jdz' then
local jd, jdz = julian_date(self)
rawset(self, 'juliandate', jd)
rawset(self, 'jd', jd)
rawset(self, 'jdz', jdz)
return key == 'jdz' and jdz or jd
elseif key == 'jdnoon' then
-- Julian date at noon (an integer) on the calendar day when jd occurs.
value = floor(self.jd + 0.5)
elseif key == 'isleapyear' then
value = is_leap_year(self.year, self.calendar)
elseif key == 'monthabbr' then
value = month_info[self.month][1]
elseif key == 'monthdays' then
value = days_in_month(self.year, self.month, self.calendar)
elseif key == 'monthname' then
value = month_info[self.month][2]
end
if value ~= nil then
rawset(self, key, value)
return value
end
end,
}
-- Date operators.
local function mt_date_add(lhs, rhs)
if not is_date(lhs) then
lhs, rhs = rhs, lhs -- put date on left (it must be a date for this to have been called)
end
return date_add_sub(lhs, rhs)
end
local function mt_date_sub(lhs, rhs)
if is_date(lhs) then
if is_date(rhs) then
return DateDiff(lhs, rhs)
end
return date_add_sub(lhs, rhs, true)
end
end
local function mt_date_concat(lhs, rhs)
return tostring(lhs) .. tostring(rhs)
end
local function mt_date_tostring(self)
return self:text()
end
local function mt_date_eq(lhs, rhs)
-- Return true if dates identify same date/time where, for example,
-- Date(-4712, 1, 1, 'Julian') == Date(-4713, 11, 24, 'Gregorian') is true.
-- This is called only if lhs and rhs have the same type and the same metamethod.
if lhs.partial or rhs.partial then
-- One date is partial; the other is a partial or a full date.
-- The months may both be nil, but must be the same.
return lhs.year == rhs.year and lhs.month == rhs.month and lhs.calendar == rhs.calendar
end
return lhs.jdz == rhs.jdz
end
local function mt_date_lt(lhs, rhs)
-- Return true if lhs < rhs, for example,
-- Date('1 Jan 2016') < Date('06:00 1 Jan 2016') is true.
-- This is called only if lhs and rhs have the same type and the same metamethod.
if lhs.partial or rhs.partial then
-- One date is partial; the other is a partial or a full date.
if lhs.calendar ~= rhs.calendar then
return lhs.calendar == 'Julian'
end
if lhs.partial then
lhs = lhs.partial.first
end
if rhs.partial then
rhs = rhs.partial.first
end
end
return lhs.jdz < rhs.jdz
end
--[[ Examples of syntax to construct a date:
Date(y, m, d, 'julian') default calendar is 'gregorian'
Date(y, m, d, H, M, S, 'julian')
Date('juliandate', jd, 'julian') if jd contains "." text output includes H:M:S
Date('currentdate')
Date('currentdatetime')
Date('1 April 1995', 'julian') parse date from text
Date('1 April 1995 AD', 'julian') using an era sets a flag to do the same for output
Date('04:30:59 1 April 1995', 'julian')
Date(date) copy of an existing date
Date(date, t) same, updated with y,m,d,H,M,S fields from table t
Date(t) date with y,m,d,H,M,S fields from table t
]]
function Date(...) -- for forward declaration above
-- Return a table holding a date assuming a uniform calendar always applies
-- (proleptic Gregorian calendar or proleptic Julian calendar), or
-- return nothing if date is invalid.
-- A partial date has a valid year, however its month may be nil, and
-- its day and time fields are nil.
-- Field partial is set to false (if a full date) or a table (if a partial date).
local calendars = { julian = 'Julian', gregorian = 'Gregorian' }
local newdate = {
_id = uniq,
calendar = 'Gregorian', -- default is Gregorian calendar
hastime = false, -- true if input sets a time
hour = 0, -- always set hour/minute/second so don't have to handle nil
minute = 0,
second = 0,
options = {},
list = _date_list,
subtract = function (self, rhs, options)
return DateDiff(self, rhs, options)
end,
text = _date_text,
}
local argtype, datetext, is_copy, jd_number, tnums
local numindex = 0
local numfields = { 'year', 'month', 'day', 'hour', 'minute', 'second' }
local numbers = {}
for _, v in ipairs({...}) do
v = strip_to_nil(v)
local vlower = type(v) == 'string' and v:lower() or nil
if v == nil then
-- Ignore empty arguments after stripping so modules can directly pass template parameters.
elseif calendars[vlower] then
newdate.calendar = calendars[vlower]
elseif vlower == 'partial' then
newdate.partial = true
elseif vlower == 'fix' then
newdate.want_fix = true
elseif is_date(v) then
-- Copy existing date (items can be overridden by other arguments).
if is_copy or tnums then
return
end
is_copy = true
newdate.calendar = v.calendar
newdate.partial = v.partial
newdate.hastime = v.hastime
newdate.options = v.options
newdate.year = v.year
newdate.month = v.month
newdate.day = v.day
newdate.hour = v.hour
newdate.minute = v.minute
newdate.second = v.second
elseif type(v) == 'table' then
if tnums then
return
end
tnums = {}
local tfields = { year=1, month=1, day=1, hour=2, minute=2, second=2 }
for tk, tv in pairs(v) do
if tfields[tk] then
tnums[tk] = tonumber(tv)
end
if tfields[tk] == 2 then
newdate.hastime = true
end
end
else
local num = tonumber(v)
if not num and argtype == 'setdate' and numindex == 1 then
num = month_number(v)
end
if num then
if not argtype then
argtype = 'setdate'
end
if argtype == 'setdate' and numindex < 6 then
numindex = numindex + 1
numbers[numfields[numindex]] = num
elseif argtype == 'juliandate' and not jd_number then
jd_number = num
if type(v) == 'string' then
if v:find('.', 1, true) then
newdate.hastime = true
end
elseif num ~= floor(num) then
-- The given value was a number. The time will be used
-- if the fractional part is nonzero.
newdate.hastime = true
end
else
return
end
elseif argtype then
return
elseif type(v) == 'string' then
if v == 'currentdate' or v == 'currentdatetime' or v == 'juliandate' then
argtype = v
else
argtype = 'datetext'
datetext = v
end
else
return
end
end
end
if argtype == 'datetext' then
if tnums or not set_date_from_numbers(newdate, extract_date(newdate, datetext)) then
return
end
elseif argtype == 'juliandate' then
newdate.partial = nil
newdate.jd = jd_number
if not set_date_from_jd(newdate) then
return
end
elseif argtype == 'currentdate' or argtype == 'currentdatetime' then
newdate.partial = nil
newdate.year = current.year
newdate.month = current.month
newdate.day = current.day
if argtype == 'currentdatetime' then
newdate.hour = current.hour
newdate.minute = current.minute
newdate.second = current.second
newdate.hastime = true
end
newdate.calendar = 'Gregorian' -- ignore any given calendar name
elseif argtype == 'setdate' then
if tnums or not set_date_from_numbers(newdate, numbers) then
return
end
elseif not (is_copy or tnums) then
return
end
if tnums then
newdate.jd = nil -- force recalculation in case jd was set before changes from tnums
if not set_date_from_numbers(newdate, tnums) then
return
end
end
if newdate.partial then
local year = newdate.year
local month = newdate.month
local first = Date(year, month or 1, 1, newdate.calendar)
month = month or 12
local last = Date(year, month, days_in_month(year, month), newdate.calendar)
newdate.partial = { first = first, last = last }
else
newdate.partial = false -- avoid index lookup
end
setmetatable(newdate, datemt)
local readonly = {}
local mt = {
__index = newdate,
__newindex = function(t, k, v) error('date.' .. tostring(k) .. ' is read-only', 2) end,
__add = mt_date_add,
__sub = mt_date_sub,
__concat = mt_date_concat,
__tostring = mt_date_tostring,
__eq = mt_date_eq,
__lt = mt_date_lt,
}
return setmetatable(readonly, mt)
end
local function _diff_age(diff, code, options)
-- Return a tuple of integer values from diff as specified by code, except that
-- each integer may be a list of two integers for a diff with a partial date, or
-- return nil if the code is not supported.
-- If want round, the least significant unit is rounded to nearest whole unit.
-- For a duration, an extra day is added.
local wantround, wantduration, wantrange
if type(options) == 'table' then
wantround = options.round
wantduration = options.duration
wantrange = options.range
else
wantround = options
end
if not is_diff(diff) then
local f = wantduration and 'duration' or 'age'
error(f .. ': need a date difference (use "diff:' .. f .. '()" with a colon)', 2)
end
if diff.partial then
-- Ignore wantround, wantduration.
local function choose(v)
if type(v) == 'table' then
if not wantrange or v[1] == v[2] then
-- Example: Date('partial', 2005) - Date('partial', 2001) gives
-- diff.years = { 3, 4 } to show the range of possible results.
-- If do not want a range, choose the second value as more expected.
return v[2]
end
end
return v
end
if code == 'ym' or code == 'ymd' then
if not wantrange and diff.iszero then
-- This avoids an unexpected result such as
-- Date('partial', 2001) - Date('partial', 2001)
-- giving diff = { years = 0, months = { 0, 11 } }
-- which would be reported as 0 years and 11 months.
return 0, 0
end
return choose(diff.partial.years), choose(diff.partial.months)
end
if code == 'y' then
return choose(diff.partial.years)
end
if code == 'm' or code == 'w' or code == 'd' then
return choose({ diff.partial.mindiff:age(code), diff.partial.maxdiff:age(code) })
end
return nil
end
local extra_days = wantduration and 1 or 0
if code == 'wd' or code == 'w' or code == 'd' then
local offset = wantround and 0.5 or 0
local days = diff.age_days + extra_days
if code == 'wd' or code == 'd' then
days = floor(days + offset)
if code == 'd' then
return days
end
return floor(days/7), days % 7
end
return floor(days/7 + offset)
end
local H, M, S = diff.hours, diff.minutes, diff.seconds
if code == 'dh' or code == 'dhm' or code == 'dhms' or code == 'h' or code == 'hm' or code == 'hms' then
local days = floor(diff.age_days + extra_days)
local inc_hour
if wantround then
if code == 'dh' or code == 'h' then
if M >= 30 then
inc_hour = true
end
elseif code == 'dhm' or code == 'hm' then
if S >= 30 then
M = M + 1
if M >= 60 then
M = 0
inc_hour = true
end
end
else
-- Nothing needed because S is an integer.
end
if inc_hour then
H = H + 1
if H >= 24 then
H = 0
days = days + 1
end
end
end
if code == 'dh' or code == 'dhm' or code == 'dhms' then
if code == 'dh' then
return days, H
elseif code == 'dhm' then
return days, H, M
else
return days, H, M, S
end
end
local hours = days * 24 + H
if code == 'h' then
return hours
elseif code == 'hm' then
return hours, M
end
return hours, M, S
end
if wantround then
local inc_hour
if code == 'ymdh' or code == 'ymwdh' then
if M >= 30 then
inc_hour = true
end
elseif code == 'ymdhm' or code == 'ymwdhm' then
if S >= 30 then
M = M + 1
if M >= 60 then
M = 0
inc_hour = true
end
end
elseif code == 'ymd' or code == 'ymwd' or code == 'yd' or code == 'md' then
if H >= 12 then
extra_days = extra_days + 1
end
end
if inc_hour then
H = H + 1
if H >= 24 then
H = 0
extra_days = extra_days + 1
end
end
end
local y, m, d = diff.years, diff.months, diff.days
if extra_days > 0 then
d = d + extra_days
if d > 28 or code == 'yd' then
-- Recalculate in case have passed a month.
diff = diff.date1 + extra_days - diff.date2
y, m, d = diff.years, diff.months, diff.days
end
end
if code == 'ymd' then
return y, m, d
elseif code == 'yd' then
if y > 0 then
-- It is known that diff.date1 > diff.date2.
diff = diff.date1 - (diff.date2 + (y .. 'y'))
end
return y, floor(diff.age_days)
elseif code == 'md' then
return y * 12 + m, d
elseif code == 'ym' or code == 'm' then
if wantround then
if d >= 16 then
m = m + 1
if m >= 12 then
m = 0
y = y + 1
end
end
end
if code == 'ym' then
return y, m
end
return y * 12 + m
elseif code == 'ymw' then
local weeks = floor(d/7)
if wantround then
local days = d % 7
if days > 3 or (days == 3 and H >= 12) then
weeks = weeks + 1
end
end
return y, m, weeks
elseif code == 'ymwd' then
return y, m, floor(d/7), d % 7
elseif code == 'ymdh' then
return y, m, d, H
elseif code == 'ymwdh' then
return y, m, floor(d/7), d % 7, H
elseif code == 'ymdhm' then
return y, m, d, H, M
elseif code == 'ymwdhm' then
return y, m, floor(d/7), d % 7, H, M
end
if code == 'y' then
if wantround and m >= 6 then
y = y + 1
end
return y
end
return nil
end
local function _diff_duration(diff, code, options)
if type(options) ~= 'table' then
options = { round = options }
end
options.duration = true
return _diff_age(diff, code, options)
end
-- Metatable for some operations on date differences.
diffmt = { -- for forward declaration above
__concat = function (lhs, rhs)
return tostring(lhs) .. tostring(rhs)
end,
__tostring = function (self)
return tostring(self.age_days)
end,
__index = function (self, key)
local value
if key == 'age_days' then
if rawget(self, 'partial') then
local function jdz(date)
return (date.partial and date.partial.first or date).jdz
end
value = jdz(self.date1) - jdz(self.date2)
else
value = self.date1.jdz - self.date2.jdz
end
end
if value ~= nil then
rawset(self, key, value)
return value
end
end,
}
function DateDiff(date1, date2, options) -- for forward declaration above
-- Return a table with the difference between two dates (date1 - date2).
-- The difference is negative if date1 is older than date2.
-- Return nothing if invalid.
-- If d = date1 - date2 then
-- date1 = date2 + d
-- If date1 >= date2 and the dates have no H:M:S time specified then
-- date1 = date2 + (d.years..'y') + (d.months..'m') + d.days
-- where the larger time units are added first.
-- The result of Date(2015,1,x) + '1m' is Date(2015,2,28) for
-- x = 28, 29, 30, 31. That means, for example,
-- d = Date(2015,3,3) - Date(2015,1,31)
-- gives d.years, d.months, d.days = 0, 1, 3 (excluding date1).
if not (is_date(date1) and is_date(date2) and date1.calendar == date2.calendar) then
return
end
local wantfill
if type(options) == 'table' then
wantfill = options.fill
end
local isnegative = false
local iszero = false
if date1 < date2 then
isnegative = true
date1, date2 = date2, date1
elseif date1 == date2 then
iszero = true
end
-- It is known that date1 >= date2 (period is from date2 to date1).
if date1.partial or date2.partial then
-- Two partial dates might have timelines:
---------------------A=================B--- date1 is from A to B inclusive
--------C=======D-------------------------- date2 is from C to D inclusive
-- date1 > date2 iff A > C (date1.partial.first > date2.partial.first)
-- The periods can overlap ('April 2001' - '2001'):
-------------A===B------------------------- A=2001-04-01 B=2001-04-30
--------C=====================D------------ C=2001-01-01 D=2001-12-31
if wantfill then
date1, date2 = autofill(date1, date2)
else
local function zdiff(date1, date2)
local diff = date1 - date2
if diff.isnegative then
return date1 - date1 -- a valid diff in case we call its methods
end
return diff
end
local function getdate(date, which)
return date.partial and date.partial[which] or date
end
local maxdiff = zdiff(getdate(date1, 'last'), getdate(date2, 'first'))
local mindiff = zdiff(getdate(date1, 'first'), getdate(date2, 'last'))
local years, months
if maxdiff.years == mindiff.years then
years = maxdiff.years
if maxdiff.months == mindiff.months then
months = maxdiff.months
else
months = { mindiff.months, maxdiff.months }
end
else
years = { mindiff.years, maxdiff.years }
end
return setmetatable({
date1 = date1,
date2 = date2,
partial = {
years = years,
months = months,
maxdiff = maxdiff,
mindiff = mindiff,
},
isnegative = isnegative,
iszero = iszero,
age = _diff_age,
duration = _diff_duration,
}, diffmt)
end
end
local y1, m1 = date1.year, date1.month
local y2, m2 = date2.year, date2.month
local years = y1 - y2
local months = m1 - m2
local d1 = date1.day + hms(date1)
local d2 = date2.day + hms(date2)
local days, time
if d1 >= d2 then
days = d1 - d2
else
months = months - 1
-- Get days in previous month (before the "to" date) given December has 31 days.
local dpm = m1 > 1 and days_in_month(y1, m1 - 1, date1.calendar) or 31
if d2 >= dpm then
days = d1 - hms(date2)
else
days = dpm - d2 + d1
end
end
if months < 0 then
years = years - 1
months = months + 12
end
days, time = math.modf(days)
local H, M, S = h_m_s(time)
return setmetatable({
date1 = date1,
date2 = date2,
partial = false, -- avoid index lookup
years = years,
months = months,
days = days,
hours = H,
minutes = M,
seconds = S,
isnegative = isnegative,
iszero = iszero,
age = _diff_age,
duration = _diff_duration,
}, diffmt)
end
local z = {
_current = current,
_Date = Date,
_days_in_month = days_in_month,
}
-- Aqui comienzas las funciones adaptadas de [[Módulo:Fecha]] --
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
function z.fechaActual()
local d = os.date('!*t')
local fecha = {}
fecha.anyo = d.year
fecha.mes = d.month
fecha.dia = d.day
fecha.hora = d.hour
fecha.minuto = d.min
fecha.segundo = d.sec
return fecha
end
function validar(fecha)
fecha.anyo = tonumber(fecha.anyo)
fecha.mes = tonumber(fecha.mes)
fecha.dia = tonumber(fecha.dia)
fecha.hora = tonumber(fecha.hora)
fecha.minuto = tonumber(fecha.minuto)
fecha.segundo = tonumber(fecha.segundo)
-- Falta validar que es una fecha válida
end
function z.edad(fecha1, fecha2)
--Función que devuelve la edad en años entre dos fechas
--Se supone que las fechas se han validado previamente.
if not fecha1 then
return -- falta devolver un error
end
if not fecha2 then
fecha2=z.fechaActual()
end
local anyos = fecha2.anyo - fecha1.anyo
--if true then return require('Módulo:Tablas').tostring(fecha2) end
if fecha2.mes < fecha1.mes or
(fecha2.mes == fecha1.mes and fecha2.dia < fecha1.dia) then
anyos = anyos - 1
end
if anyos < 0 then
return -- falta devolver error
elseif anyos == 0 then
return 'menos de un año'
elseif anyos == 1 then
return 'un año'
else
return anyos .. ' años'
end
end
function z.llamadaDesdeUnaPlantilla(frame)
function obtenerFecha(dia, mes, anyo)
local resultado={}
if dia then
resultado.dia = dia
resultado.mes = mes
resultado.anyo = anyo
validar(resultado)
return resultado
end
end
local args = frame.args
local funcion = z[args[1]]
local fecha1 = obtenerFecha(args[2], args[3], args[4])
local fecha2 = obtenerFecha(args[5], args[6], args[7])
return funcion(fecha1, fecha2)
end
-- Aqui comienzas las funciones adaptadas de [[Módulo:Fechas]] --
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
function z.NombreDelMes(mes)
-- Función que devuelve el nombre del mes, donde mes es un número entre 1 y 12.
-- Si no es así se devuelve el valor de mes.
-- Por ejemplo, 2 --> febrero
-- 02 --> febrero
-- abril --> abril
-- MAYO --> MAYO
return month_info[tonumber(mes)][2] or mes
end
function z.Fecha(frame)
-- Función que formatea una fecha
-- El único parámetro obligatorio es el año o 3.
-- Obtener los argumentos con los que se llama a la función
local argumentos = {}
local parent = {}
if frame == mw.getCurrentFrame() then
if frame.args[3] or frame.args["año"] then
argumentos = frame.args
else
parent = frame:getParent()
argumentos = parent.args
end
else
argumentos = frame
end
local enlace = argumentos["enlace"] ~= "no"
-- Obtener el día, el nombre del mes y el año incluyendo para los años negativos a.d.
local dia = argumentos["día"] or argumentos[1] or ''
local mes = argumentos["mes"] or argumentos[2] or ''
local anyo=tonumber(argumentos["año"] or argumentos[3]) or 0
dia = (dia ~='') and (tonumber(dia) or dia) or dia -- Eliminar ceros a la izquierda del día.
mes = (mes~='') and ((month_info[mes] and month_info[mes][2]) or month_info[tonumber(mes)][2] or mes) or mes -- Extraer nombre del mes
anyo = (anyo<0) and (-anyo .. ' a. C.') or anyo
local calendario = (argumentos["calendario"] == 'juliano') and ('<sup>[[Calendario juliano|jul.]]</sup>') or ''
-- Formatear la fecha dependiendo de si el día, el mes o el año están informados
local out = ''
if anyo ~= 0 then
out = enlace and (out .. '[[' .. anyo .. ']]') or tostring(anyo)
if mes~='' then
if argumentos["mayúscula"] == 'sí' then
mes = mw.language.new('es'):ucfirst(mes)
end
out = enlace and (mes .. ']] de ' .. out) or (mes .. ' de ' .. out)
if dia ~='' then
out = enlace and ('[[' .. dia .. ' de ' .. out .. calendario) or (dia .. ' de ' .. out .. calendario)
else
out = enlace and ('[[' .. out) or out
end
end
end
return out
end
function z.Numerica(frame)
local d = Date(frame.args[1])
local err = '<strong class="error">Cadena de fecha no válida</strong>'
return (d == nil) and err or d:text('%Y%m%d')
end
return z
d7524c0b2cc62fdbe1f3229805d8642091493c58
Módulo:Citas/Configuración
828
52
103
102
2024-01-02T19:49:40Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
citation_config = {};
--[[
List of namespaces that should not be included in citation
error categories. Same as setting notracking = true by default
Note: Namespace names should use underscores instead of spaces.de
citation_config.uncategorized_namespaces = { 'User', 'Talk', 'User_talk', 'Wikipedia_talk', 'File_talk', 'Template_talk',
'Help_talk', 'Category_talk', 'Portal_talk', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk',
'Module_talk', 'MediaWiki_talk' };
]]
citation_config.uncategorized_namespaces = { 'Usuario', 'Usuaria', 'Discusión', 'Usuario_discusión', 'Usuario_Discusión','Usuaria_Discusión', 'Usuaria_discusión', 'Wikipedia_discusión', 'Archivo_discusión',
'Plantilla_discusión', 'Ayuda_discusión', 'Categoría_discusión', 'Portal_Discusión', 'Book_talk', 'Draft', 'Draft_talk', 'Education_Program_talk',
'Módulo_discusión', 'MediaWiki_discusión', 'Wikipedia', 'Wikiproyecto', 'Wikiproyecto_discusión' };
--[[
Translation table
The following contains fixed text that may be output as part of a citation.
This is separated from the main body to aid in future translations of this
module.
]]
citation_config.messages = {
['published'] = 'publicado el $1', --'published $1',
['lay summary'] = 'Resumen divulgativo', --'Lay summary',
['retrieved'] = 'Consultado el $1', --'Retrieved $1',
['inactive'] = 'inactivo', --'inactive',
['archived-dead'] = 'Archivado desde $1 el $2',-- 'Archived from $1 on $2',
['archived-not-dead'] = '$1 desde el original el $2', --'$1 from the original on $2',
['archived-missing'] = 'Archivado desde el original$1 el $2', --'Archived from the original$1 on $2',
['archived'] = 'Archivado', --'Archived',
['original'] = 'el original', --'the original',
['editor'] = 'ed.',
['editors'] = 'eds.',
['edition'] = '($1 edición)', --'($1 ed.)',
['interview'] = 'Entrevista con $1',
['sin edición'] = '($1)', -- No existe en la Wikipedia inglesa
['episode'] = 'episode',
['season'] = 'season',
['series'] = 'series',
['cartography'] = 'Cartography by $1',
['section'] = 'Section $1',
['inset'] = '$1 inset',
['traductor'] = '($1, trad.)',
['traductores'] = '($1, trads.)',
['written'] = 'Escrito en $1', --'Written at $1',
['in'] = 'En', --'In',
['et al'] = "''et al.''", -- 'et al.', l
['subscription'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(requiere suscripción)</span>' ..
'[[Categoría:Wikipedia:Páginas con referencias que requieren suscripción]]',
['registration'] = '<span style="font-size:0.95em; font-size:90%; color:#555">(requiere registro)</span>' ..
'[[Categoría:Wikipedia:Páginas con referencias que requieren registro]]',
['language'] = '<span style="color:#555;">(en $1)</span>', -- '(in $1)',
['format'] = '<span style="color:#555;">($1)</span>', -- No existe en la Wikipedia inglesa
['via'] = " – via $1",
['event'] = 'Escena en', --'Event occurs at',
['minutes'] = 'minutes in',
['id'] = '<small>$1</small>', -- Nuevo. No existe en la plantilla original
['quoted-title'] = '«$1»', --'"$1"',
['italic-title'] = "''$1''",
['trans-quoted-title'] = "[$1]",
['trans-italic-title'] = "[''$1'']",
['quoted-text'] = '«$1»', -- '"$1"',
['parameter'] = '<code>|$1=</code>',
['parameter-separator'] = ', ',
['parameter-final-separator'] = ', y ', -- ', and ',
['parameter-pair-separator'] = ' y ', -- ' and ',
-- Error output
['hidden-error'] = '<span style="display:none;font-size:100%" class="error citation-comment">$1</span>',
['visible-error'] = '<span style="font-size:100%" class="error citation-comment">$1</span>',
-- Determines the location of the help page
['help page link'] = 'Ayuda:Errores en las referencias', --'Help:CS1 errors',
['help page label'] = 'ayuda', --'help',
-- Internal errors (should only occur if configuration is bad)
['undefined_error'] = 'Called with an undefined error condition',
['unknown_manual_ID'] = 'Unrecognized manual ID mode',
['unknown_ID_mode'] = 'Unrecognized ID mode',
['unknown_argument_map'] = 'Argument map not defined for this variable',
['bare_url_no_origin'] = 'Bare url found but origin indicator is nil or empty',
}
-- Aliases table for commonly passed parameters
citation_config.aliases = {
['AccessDate'] = {'fechaacceso', 'fecha-acceso', 'accessdate', 'access-date'}, --{'accessdate', 'accessyear'},
['AñoAcceso'] = {'añoacceso', 'accessyear'}, -- Inexistente en la plantilla original
['Agency'] = {'agencia', 'agency'},
['AirDate'] = 'airdate',
['ArchiveDate'] = {'fechaarchivo', 'archive-date', 'archivedate' },
['ArchiveURL'] = {'urlarchivo', 'archive-url', 'archiveurl' },
['At'] = {'en', 'at'},
['Authors'] = {'autores', 'persona', 'personas', 'authors', 'people', 'host'},
['AuthorFormat'] = {"author-format", "authorformat" },
['AuthorSeparator'] = {'separador-autores', 'author-separator'},
['AuthorNameSeparator'] = {'separador-nombres', 'author-name-separator'},
['BookTitle'] = {'book-title', 'booktitle', 'títulolibro'},
['Callsign'] = 'callsign', -- cite interview
['Cartography'] = 'cartography',
['Chapter'] = {'capítulo', 'artículo', 'chapter', 'contribution', 'entry', 'article', 'section', 'notestitle'}, -- notestitle is deprecated used by old cite AV media notes; remove after 1 October 2014;
['ChapterLink'] = 'chapterlink',
['ChapterURL'] = {'url-capítulo', 'urlcapítulo', 'chapter-url', 'chapterurl', 'contribution-url', 'contributionurl', 'sectionurl' },
['City'] = 'city', -- cite interview
['Coauthors'] = {'coautores', 'coautor', 'coauthors', 'coauthor' },
['Cointerviewers'] = {'coentrevistadores', 'cointerviewers'}, -- cite interview
['Conference'] = {'conference', 'event', 'conferencia' },
['ConferenceURL'] = {'conference-url', 'conferenceurl', 'event-url', 'eventurl', 'urlconferencia'},
['Date'] = {'fecha','date'},
['Day'] = {'día', 'day'},
['DeadURL'] = {'deadurl','urlmuerta'},
['Degree'] = {'degree', 'grado'},
['DisplayAuthors'] = {"número-autores", "display-authors", "displayauthors"},
['DisplayEditors'] = {"número-editores", "display-editors", "displayeditors"},
['Docket'] = 'docket',
['DoiBroken'] = {'fecha-doi-roto', 'doi_inactivedate', 'doi_brokendate', 'DoiBroken', 'doi-broken-date'},
['Edition'] = {'edición', 'edition'},
['Editors'] = 'editors',
['EditorFormat'] = {"editor-format", "editorformat" },
['EditorSeparator'] = 'editor-separator',
['EditorNameSeparator'] = 'editor-name-separator',
['Embargo'] = {'Embargo', 'embargo'},
['Extra'] = 'extra', -- Inexistente en la plantilla original
['Format'] = {'formato', 'format'},
['ID'] = {'id', 'ID', 'publisherid'}, -- publisherid is deprecated; used by old cite AV media notes and old cite DVD notes; remove after 1 October 2014;
['IgnoreISBN'] = {'ignore-isbn-error', 'ignoreisbnerror'},
['Inset'] = 'inset',
['Interviewer'] = {'entrevistador', 'interviewer'}, -- cite interview
['Issue'] = {'número', 'issue', 'number'},
['Language'] = {'idioma', 'language', 'in'},
['LastAuthorAmp'] = {'ampersand', 'lastauthoramp', 'last-author-amp'},
['LayDate'] = {'fecharesumen', 'fecha-resumen', 'fechaprofano', 'laydate'},
['LaySource'] = {'fuenteresumen', 'fuenteprofano', 'laysource'},
['LayURL'] = {'resumen', 'resumenprofano', 'layurl', 'laysummary'},
['MesAcceso'] = {'mesacceso', 'accessmonth'}, -- Inexistente en la plantilla original
['Minutes'] = 'minutes',
['Month'] = {'mes', 'month'},
['NameSeparator'] = 'name-separator',
['Network'] = 'network',
['NoPP'] = {'sinpp', 'nopp'},
['NoTracking'] = {"template doc demo", 'nocat',
'notracking', "no-tracking"},
['OrigYear'] = {'año-original', 'origyear', 'titleyear'}, -- titleyear is deprecated; used in old cite DVD notes; remove after 1 October 2014
['Others'] = {'otros', 'others', 'artist', 'director', 'bandname'}, -- artist and director are deprecated; used in old cite AV media notes and old cite DVD notes; remove after 1 October 2014
-- bandname ya es obsoleto en la wikipedia inglesa.
['Page'] = {'página', 'p', 'page'},
['Pages'] = {'páginas', 'pp', 'pages'},
['Passage'] = 'pasaje',
['PassageURL'] = {'enlace-pasaje', 'url-pasaje'},
['Periodical'] = {'publicación', 'pub-periódica', 'periódico', 'revista', 'obra', 'journal', 'newspaper', 'magazine', 'work',
'website', 'sitioweb', 'sitio web', 'periodical', 'enciclopedia', 'encyclopedia', 'encyclopaedia', 'diccionario', 'dictionary'},
['Place'] = {'lugar', 'localización', 'ubicación', 'ciudad', 'place', 'location'},
['PPrefix'] = 'PPrefix',
['PPPrefix'] = 'PPPrefix',
['Program'] = 'program', -- cite interview
['PostScript'] = {'puntofinal', 'postscript'},
['PublicationDate'] = {'fecha-publicación', 'publicationdate', 'publication-date' },
['PublicationPlace'] = {'lugar-publicación', 'ubicación-publicación', 'publication-place', 'publicationplace' },
['PublisherName'] = {'editorial', 'publisher', 'distributor', 'institution'},
['Quote'] = {'cita', 'quote', 'quotation'},
['Ref'] = {'ref', 'Ref'},
['RegistrationRequired'] = {'registration', 'requiere-registro', 'requiereregistro', 'registro'},
['Scale'] = 'scale',
['Section'] = 'section',
['Season'] = {'season', 'temporada'},
['Separator'] = {'separador', 'separator'},
['Series'] = {'serie', 'versión', 'colección', 'series', 'version'},
['SeriesSeparator'] = 'series-separator',
['SeriesLink'] = 'serieslink',
['SeriesNumber'] = {'seriesnumber', 'seriesno'},
['SinEd'] = 'sined', -- Inexistente en la plantilla original
['Station'] = 'station',
['SubscriptionRequired'] = {'suscripción', 'subscription'},
['Time'] = {'tiempo', 'time'},
['TimeCaption'] = 'timecaption',
['Texto1'] = 1,
['Title'] = {'título', 'title'}, -- No pongo titre
['TitleLink'] = {'titlelink', 'episodelink', 'albumlink' }, -- albumlink is deprecated; used by old cite AV media notes; remove after 1 October 2014
['TitleNote'] = 'department',
['TitleType'] = {'tipo', 'medio', 'type', 'medium'},
['Traductor'] = 'traductor',
['Traductores'] = 'traductores',
['TransChapter'] = {'capítulo-trad','capítulotrad', 'trans-chapter', 'trans_chapter' },
['Transcript'] = 'transcript',
['TranscriptURL'] = {'transcript-url', 'transcripturl'},
['TransQuote'] = {'cita-trad', 'citatrad', 'trans-quote', 'trans_quote' },
['TransTitle'] = {'trad-título', 'títulotrad', 'título_trad', 'título-trad', 'trans-title', 'trans_title' },
['URL'] = {'url', 'URL'},
['UrlAccess'] = {'url-acceso', 'url-access'},
['Via'] = 'via',
['Volume'] = {'volumen', 'volume'},
['Year'] = {'año', 'year'},
['AuthorList-First'] = {"nombre#", "nombres#", "author#-first", "author-first#",
"first#", "given#"},
['AuthorList-Last'] = {"apellido#", "apellidos#", "autor#", "author#-last", "author-last#",
"last#", "surname#", "Author#", "author#", "authors#", "subject#"},
['AuthorList-Link'] = {"enlace-autor#", "enlaceautor#", "author#-link", "author-link#",
"author#link", "authorlink#", "subjectlink#", "subject-link#"},
['AuthorList-Mask'] = {"máscara-autor#","máscaraautor#","author#-mask", "author-mask#",
"author#mask", "authormask#"},
['EditorList-First'] = {"nombre-editor#", "editor#-first",
"editor-first#", "editor-given#", "EditorGiven#"},
['EditorList-Last'] = {"apellido-editor#", "apellidos-editor#", "editor#-last", "editor-last#",
"editor-surname#", "EditorSurname#", "Editor#", "editor#", "editors#"},
['EditorList-Link'] = {"enlace-editor#", "enlaceeditor#", "editor#-link", "editor-link#",
"editor#link", "editorlink#"},
['EditorList-Mask'] = {"editor#-mask", "editor-mask#",
"editor#mask", "editormask#"},
}
citation_config.parametros_a_implementar={ --No aparece en la Wikipedia inglesa
['urltrad']=true,
['script-title']=true
}
-- Default parameter values
citation_config.defaults = {
['DeadURL'] = 'yes',
['AuthorSeparator'] = ';', -- Por comprobar si poner ;  ¿No hace falta poner el espacio?
['EditorSeparator'] = ';',
['NameSeparator'] = ',', -- Por comprobar  
['PPrefix'] = "p. ",
['PPPrefix'] = "pp. ",
}
--[[
Error condition table
The following contains a list of IDs for various error conditions defined in the
code. For each ID, we specify a text message to display, an error category to
include, and whether the error message should be wrapped as a hidden comment.
Anchor changes require identical changes to matching anchor in Help:CS1 errors
]]
citation_config.error_conditions = {
accessdate_missing_url = {
message = '<code>|fechaacceso=</code> requiere <code>|url=</code>', --'<code>|accessdate=</code> requires <code>|url=</code>',
anchor = 'accessdate_missing_url',
category = 'Wikipedia:Páginas con referencias sin URL y con fecha de acceso', --'Pages using citations with accessdate and no URL',
hidden = true },
archive_missing_date = {
message = '<code>|urlarchivo=</code> requiere <code>|fechaarchivo=</code>', --'<code>|archiveurl=</code> requires <code>|archivedate=</code>',
anchor = 'archive_missing_date',
category = 'Wikipedia:Páginas con referencias sin fechaarchivo y con urlarchivo', --'Pages with archiveurl citation errors',
hidden = false },
archive_missing_url = {
message = '<code>|urlarchivo=</code> requiere <code>|url=</code>', --'<code>|archiveurl=</code> requires <code>|url=</code>',
anchor = 'archive_missing_url',
category = 'Wikipedia:Páginas con referencias sin URL y con urlarchivo', --'Pages with archiveurl citation errors',
hidden = false },
bad_authorlink = {
message = 'Comprueba el valor del <code>|enlaceautor=</code>', -- 'Check <code>|authorlink=</code> value',
anchor = 'bad_authorlink',
category = 'Wikipedia:Páginas con referencias con enlaceautor incorrecto', -- 'CS1 errors: authorlink',
hidden = false },
bad_date = {
message = 'Check date values in: <code>$1</code>',
anchor = 'bad_date',
category = 'CS1 errors: dates',
hidden = true },
bad_doi = {
message = '<code>|doi=</code> incorrecto',--'Check <code>|doi=</code> value',
anchor = 'bad_doi',
category = 'Wikipedia:Páginas con DOI incorrectos', --'Pages with DOI errors',
hidden = false },
bad_hdl = {
message = 'Check <code class="cs1-code">|hdl=</code> value',
anchor = 'bad_hdl',
category = 'CS1 errors: HDL',
hidden = false },
bad_isbn = {
message = '<code>|isbn=</code> incorrecto', --'Check <code>|isbn=</code> value',
anchor = 'bad_isbn',
category = 'Wikipedia:Páginas con ISBN incorrectos', --'Pages with ISBN errors',
hidden = false },
bad_issn = {
message = '<code>|issn=</code> incorrecto',--'Check <code>|issn=</code> value',
anchor = 'bad_issn',
category = 'Wikipedia:Páginas con ISSN incorrectos', --'CS1 errors: ISSN',
hidden = false },
bad_lccn = {
message = '<code>|lccn=</code> incorrecto', --'Check <code>|lccn=</code> value',
anchor = 'bad_lccn',
category = 'Wikipedia:Páginas con LCCN incorrectos', --'CS1 errors: LCCN',
hidden = false },
bad_ol = {
message = 'Check <code>|ol=</code> value',
anchor = 'bad_ol',
category = 'Pages with OL errors',
hidden = false },
bad_pmc = {
message = '<code>|pmc=</code> incorrecto', --'Check <code>|pmc=</code> value',
anchor = 'bad_pmc',
category = 'Wikipedia:Páginas con PMC incorrectos', --'CS1 errors: PMC',
hidden = false },
bad_pmid = {
message = '<code>|pmid=</code> incorrecto', --'Check <code>|pmid=</code> value',
anchor = 'bad_pmid',
category = 'Wikipedia:Páginas con PMID incorrectos', -- 'CS1 errors: PMID',
hidden = false },
bad_url = {
message = '<code>|url=</code> incorrecta', --'Check <code>|url=</code> scheme',
anchor = 'bad_url',
category = 'Wikipedia:Páginas con URL incorrectas', --'Pages with URL errors',
hidden = false },
bad_url_autorreferencia = {
message = '<code>|url=</code> incorrecta con autorreferencia',
anchor = 'bad_url_autorreferencia',
category = 'Wikipedia:Páginas con autorreferencias',
hidden = false },
bare_url_missing_title = {
message = '$1 sin título', --'$1 missing title',
anchor = 'bare_url_missing_title',
category = 'Wikipedia:Páginas con referencias sin título y con URL', -- 'Pages with citations having bare URLs',
hidden = false },
citation_missing_title = {
message = 'Falta el <code>|título=</code>', --'Missing or empty <code>|title=</code>',
anchor = 'citation_missing_title',
category = 'Wikipedia:Páginas con referencias sin título', --'Pages with citations lacking titles',
hidden = false },
cite_web_url = { -- this error applies to cite web and to cite podcast
message = 'Falta la <code>|url=</code>', --'Missing or empty <code>|url=</code>',
anchor = 'cite_web_url',
category = 'Wikipedia:Páginas con referencias web sin URL', --'Pages using web citations with no URL',
hidden = true },
coauthors_missing_author = {
message = '<code>|coautores=</code> requiere <code>|autor=</code>', --'<code>|coauthors=</code> requires <code>|author=</code>',
anchor = 'coauthors_missing_author',
category = 'Wikipedia:Páginas con referencias sin autor y con coautores', --'CS1 errors: coauthors without author',
hidden = false },
deprecated_params = {
message = 'La referencia utiliza el parámetro obsoleto <code>|$1=</code>', --'Cite uses deprecated parameters',
anchor = 'deprecated_params',
category = 'Wikipedia:Páginas con referencias con parámetros obsoletos', -- 'Pages containing cite templates with deprecated parameters',
hidden = true },
empty_citation = {
message = 'Referencia vacía', 'Empty citation', --'Empty citation',
anchor = 'empty_citation',
category = 'Wikipedia:Páginas con referencias vacías', --'Pages with empty citations',
hidden = false },
extra_pages = {
message = 'Extra <code>|páginas=</code> o <code>|en=</code>', --'Extra <code>|pages=</code> or <code>|at=</code>',
anchor = 'extra_pages',
category = 'Pages with citations using conflicting page specifications', --'Pages with citations using conflicting page specifications',
hidden = false },
format_missing_url = {
message = '<code>|formato=</code> requiere <code>|url=</code>', --'<code>|format=</code> requires <code>|url=</code>',
anchor = 'format_missing_url',
category = 'Wikipedia:Páginas con referencias sin URL y con formato', --'Pages using citations with format and no URL',
hidden = true },
implict_etal_author = {
message = 'Se sugiere usar <code>|número-autores=</code>', --'<code>|displayauthors=</code> suggested',
anchor = 'displayauthors',
category = 'Wikipedia:Páginas con referencias con et al. implícito en los autores', --'Pages using citations with old-style implicit et al.',
hidden = true },
implict_etal_editor = {
message = 'Se sugiere usar <code>|número-editores=</code>', --'<code>|displayeditors=</code> suggested', --'<code>|displayeditors=</code> suggested',
anchor = 'displayeditors',
category = 'Wikipedia:Páginas con referencias con et al. implícito en los editores', --'Pages using citations with old-style implicit et al. in editors',
hidden = true },
parameter_ignored = {
message = 'Parámetro desconocido <code>|$1=</code> ignorado',
anchor = 'parameter_ignored',
category = 'Wikipedia:Páginas con referencias con parámetros desconocidos', --'Pages with citations using unsupported parameters',
hidden = false },
parameter_ignored_suggest = {
message = 'Parámetro desconocido <code>|$1=</code> ignorado (se sugiere <code>|$2=</code>)', --'Unknown parameter <code>|$1=</code> ignored (<code>|$2=</code> suggested)',
anchor = 'parameter_ignored_suggest',
category = 'Wikipedia:Páginas con referencias con parámetros sugeridos', --'Pages with citations using unsupported parameters',
hidden = false },
-- Pendiente implementar los parámetros urltrad de la cita web (No existe en la Wikipedia inglesa) y script-title.
parametro_por_implementar = {
message = 'Parámetro desconocido <code>|$1=</code> ignorado',
anchor = 'parametro_por_implementar',
category = 'Wikipedia:Páginas con referencias con parámetros por implementar',
hidden = false },
redundant_parameters = {
message = '$1 redundantes', --'More than one of $1 specified',
anchor = 'redundant_parameters',
category = 'Wikipedia:Páginas con referencias con parámetros redundantes', --'Pages with citations having redundant parameters',
hidden = false },
text_ignored = {
message = 'Texto «$1» ignorado', --'Text "$1" ignored',
anchor = 'text_ignored',
category = 'Wikipedia:Páginas con referencias con parámetros sin nombre', -- 'Pages with citations using unnamed parameters',
hidden = false },
trans_missing_chapter = {
message = '<code>|capítulo-trad=</code> requiere <code>|capítulo=</code>', --'<code>|trans_chapter=</code> requires <code>|chapter=</code>',
anchor = 'trans_missing_chapter',
category = 'Wikipedia:Páginas con referencias con términos traducidos sin el original', --'Pages with citations using translated terms without the original',
hidden = false },
trans_missing_title = {
message = '<code>|título-trad=</code> requiere <code>|título=</code>',--'<code>|trans_title=</code> requires <code>|title=</code>',
anchor = 'trans_missing_title',
category = 'Wikipedia:Páginas con referencias con términos traducidos sin el original', --'Pages with citations using translated terms without the original',
hidden = false },
wikilink_in_url = {
message = 'Wikienlace dentro del título de la URL', -- 'Wikilink embedded in URL title',
anchor = 'wikilink_in_url',
category = 'Wikipedia:Páginas con referencias con wikienlaces dentro del título de la URL', -- 'Pages with citations having wikilinks embedded in URL titles',
hidden = false },
url_sugerida = { -- Se aplica cuando está informado el campo 1 con una url y la cita no tiene informada la url.
message = 'Texto «$1» ignorado (se sugiere <code>|$2=</code>)',
anchor = 'url_sugerida',
category = 'Wikipedia:Páginas con referencias con parámetros sugeridos (URL)',
hidden = false },
}
citation_config.id_handlers = {
['ARXIV'] = {
parameters = {'arxiv', 'ARXIV'},
link = 'arXiv',
label = 'arXiv',
mode = 'external',
prefix = '//arxiv.org/abs/', -- protocol relative tested 2013-09-04
encode = false,
COinS = 'info:arxiv',
separator = ':',
},
['BIBCODE'] = {
parameters = {'bibcode', 'BIBCODE'},
link = 'Bibcode',
label = 'Bibcode',
mode = 'external',
prefix = 'http://adsabs.harvard.edu/abs/',
encode = false,
COinS = 'info:bibcode',
separator = ':',
},
['DOI'] = {
parameters = { 'doi', 'DOI' },
link = 'Digital object identifier',
label = 'doi',
mode = 'manual',
prefix = 'http://dx.doi.org/',
COinS = 'info:doi',
separator = ':',
encode = true,
},
['EISSN'] = {
parameters = {'eissn', 'EISSN'},
link = 'International Standard Serial Number#Electronic ISSN',
redirect = 'eISSN (identifier)',
q = 'Q46339674',
label = 'eISSN',
prefix = '//www.worldcat.org/issn/',
COinS = 'rft.eissn',
encode = false,
separator = ' ',
},
['HDL'] = {
parameters = { 'hdl', 'HDL' },
link = 'Handle System',
redirect = 'hdl (identifier)',
q = 'Q3126718',
mode = 'external',
label = 'hdl',
prefix = '//hdl.handle.net/',
COinS = 'info:hdl',
separator = ':',
encode = true,
custom_access = 'hdl-access',
},
['ISBN'] = {
parameters = {'isbn', 'ISBN', 'isbn13', 'ISBN13'},
link = 'ISBN', --'International Standard Book Number',
label = 'ISBN',
mode = 'manual',
prefix = 'Special:BookSources/',
COinS = 'rft.isbn',
separator = ' ',
},
['ISSN'] = {
parameters = {'issn', 'ISSN'},
link = 'ISSN', --'International Standard Serial Number',
label = 'ISSN',
mode = 'manual',
prefix = '//portal.issn.org/resource/issn/',
COinS = 'rft.issn',
encode = false,
separator = ' ',
},
['JFM'] = {
parameters = {'jfm', 'JFM'},
link = 'Jahrbuch über die Fortschritte der Mathematik',
label = 'JFM',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'rft.jfm',
encode = true,
separator = ' ',
},
['JSTOR'] = {
parameters = {'jstor', 'JSTOR'},
link = 'JSTOR',
label = 'JSTOR',
mode = 'external',
prefix = '//www.jstor.org/stable/', -- protocol relative tested 2013-09-04
COinS = 'rft.jstor',
encode = true,
separator = ' ',
},
['LCCN'] = {
parameters = {'LCCN', 'lccn'},
link = 'Library of Congress Control Number',
label = 'LCCN',
mode = 'manual',
prefix = 'http://lccn.loc.gov/',
COinS = 'rft.lccn',
encode = false,
separator = ' ',
},
['MR'] = {
parameters = {'MR', 'mr'},
link = 'Mathematical Reviews',
label = 'MR',
mode = 'external',
prefix = '//www.ams.org/mathscinet-getitem?mr=', -- protocol relative tested 2013-09-04
COinS = 'rft.mr',
encode = true,
separator = ' ',
},
['OCLC'] = {
parameters = {'OCLC', 'oclc'},
link = 'OCLC', --'Online Computer Library Center',
label = 'OCLC',
mode = 'external',
prefix = '//www.worldcat.org/oclc/',
COinS = 'info:oclcnum',
encode = true,
separator = ' ',
},
['OL'] = {
parameters = { 'ol', 'OL' },
link = 'Open Library',
label = 'OL',
mode = 'manual',
COinS = 'info:olnum',
separator = ' ',
encode = true,
},
['OSTI'] = {
parameters = {'OSTI', 'osti'},
link = 'Office of Scientific and Technical Information',
label = 'OSTI',
mode = 'external',
prefix = '//www.osti.gov/energycitations/product.biblio.jsp?osti_id=', -- protocol relative tested 2013-09-04
COinS = 'info:osti',
encode = true,
separator = ' ',
},
['PMC'] = {
parameters = {'PMC', 'pmc'},
link = 'PubMed Central',
label = 'PMC',
mode = 'manual', -- changed to support unlinking of PMC identifier when article is embargoed
prefix = '//www.ncbi.nlm.nih.gov/pmc/articles/PMC',
suffix = " ",
COinS = 'info:pmc',
encode = true,
separator = ' ',
},
['PMID'] = {
parameters = {'PMID', 'pmid'},
link = 'PubMed Identifier',
label = 'PMID',
mode = 'manual', -- changed from external manual to support PMID validation
prefix = '//www.ncbi.nlm.nih.gov/pubmed/',
COinS = 'info:pmid',
encode = false,
separator = ' ',
},
['RFC'] = {
parameters = {'RFC', 'rfc'},
link = 'Request for Comments',
label = 'RFC',
mode = 'external',
prefix = '//tools.ietf.org/html/rfc',
COinS = 'info:rfc',
encode = false,
separator = ' ',
},
['S2CID'] = {
parameters = {'s2cid', 'S2CID'},
link = 'Semantic Scholar',
label = 'S2CID',
mode = 'external',
prefix = 'https://api.semanticscholar.org/CorpusID:',
COinS = 'pre', -- use prefix value
encode = false,
separator = ' ',
},
['SSRN'] = {
parameters = {'SSRN', 'ssrn'},
link = 'Social Science Research Network',
label = 'SSRN',
mode = 'external',
prefix = '//ssrn.com/abstract=', -- protocol relative tested 2013-09-04
COinS = 'info:ssrn',
encode = true,
separator = ' ',
},
['ZBL'] = {
parameters = {'ZBL', 'zbl'},
link = 'Zentralblatt MATH',
label = 'Zbl',
mode = 'external',
prefix = 'http://www.zentralblatt-math.org/zmath/en/search/?format=complete&q=an:',
COinS = 'info:zbl',
encode = true,
separator = ' ',
},
['WIKIDATA'] = {
parameters = {'wikidata'},
link = 'Wikidata',
label = 'Wikidata',
mode = 'internal',
prefix = ':d:',
COinS = '', -- ?
encode = false,
separator = ' ',
}
}
return citation_config;
8989c97657c967f6b96f0c6b26eae414b157b881
Módulo:Citas/Whitelist
828
53
105
104
2024-01-02T19:49:41Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
--[[
Because a steady-state signal conveys no useful information, whitelist.basic_arguments[] list items now can have three values:
true - these parameters are valid and supported parameters
false - these parameters are deprecated but still supported
nil - these parameters are no longer supported (when setting a parameter to nil, leave a comment stating the reasons for invalidating the parameter)
]]
whitelist = {
basic_arguments = {
-- Argumentos permitidos en español no numerados. Algunos de ellos también se usan en inglés.
['1'] = true,
['agencia'] = true,
['ampersand'] = true,
['año'] = true,
['año-original'] = true,
['añoacceso'] = true,
['apellido'] = true,
['apellidos'] = true,
['apellido-editor']= true,
['apellidos-editor']= true,
['artículo'] = true,
['autor'] = true,
['autores'] = true,
['bibcode'] = true,
['BIBCODE'] = true,
['capítulo'] = true,
['capítulo-trad']= true,
['cita'] = true,
['cita-trad'] = true,
['ciudad'] = true,
['colección'] = true, -- Inexistente en la plantilla original. Añadido como sinónimo de serie.
['conferencia'] = true,
['diccionario'] = true,
['doi'] = true,
['DOI'] = true,
['edición'] = true,
['editor'] = true,
['editorial'] = true,
['eissn'] = true,
['EISSN'] = true,
['en'] = true,
['enciclopedia'] = true,
['enlace-autor'] = true,
['enlaceautor'] = true,
['enlaceeditor'] = true,
['enlace-editor']= true,
['enlace-pasaje'] = true,
['entrevistador'] = true, --cite interview
['extra'] = true, -- Inexistente en la plantilla original
['fecha'] = true,
['fecha-acceso'] = true,
['fecha-doi-roto']= true,
['fechaprofano'] = true,
['fecha-publicación']= true,
['fecharesumen'] = true,
['fecha-resumen']= true,
['fechaacceso'] = true,
['fechaarchivo'] = true,
['formato'] = true,
['fuenteresumen']= true,
['fuenteprofano']= true,
['grado'] = true, -- Para tesis
['hdl'] = true,
['HDL'] = true,
['hdl-access'] = true,
['id'] = true,
['ID'] = true,
['idioma'] = true,
['isbn'] = true,
['ISBN'] = true,
['isbn13'] = true,
['ISBN13'] = true,
['issn'] = true,
['ISSN'] = true,
['localización'] = true,
['lugar'] = true,
['lugar-publicación']= true,
['máscaraautor'] = true,
['máscara-autor']= true,
['medio'] = true,
['nombre'] = true,
['nombre-editor']= true,
['nombres'] = true,
['número'] = true,
['número-autores']= true,
['número-editores']= true,
['obra'] = true,
['oclc'] = true,
['OCLC'] = true,
['ol'] = true,
['OL'] = true,
['otros'] = true,
['página'] = true,
['páginas'] = true,
['pasaje'] = true,
['periódico'] = true,
['persona'] = true,
['personas'] = true,
['publicación'] = true,
['pub-periódica'] = true,
['puntofinal'] = true,
['registro'] = true,
['requiereregistro'] = true,
['requiere-registro'] = true,
['resumen'] = true,
['resumenprofano']= true,
['revista'] = true,
['s2cid'] = true,
['separador'] = true,
['separador-autores']= true,
['separador-nombres']= true,
['serie'] = true,
['sined'] = true, -- Inexistente en la plantilla original
['sinpp'] = true,
['sitio web'] = true,
['sitioweb'] = true,
['suscripción'] = true,
['temporada'] = true,
['tiempo'] = true,
['tipo'] = true,
['título'] = true,
['títulolibro'] = true,
['trad-título'] = true,
['título_trad'] = true,
['títulotrad'] = true,
['título-trad'] = true,
['traductor'] = true,
['traductores'] = true,
['ubicación'] = true,
['ubicación-publicación']= true,
['url'] = true,
['URL'] = true,
['urlarchivo'] = true,
['url-acceso'] = true,
['url-capítulo'] = true,
['urlcapítulo'] = true,
['urlconferencia'] = true,
['urlmuerta'] = true,
['url-pasaje'] = true,
['versión'] = true,
['volumen'] = true,
['wikidata'] = true,
-- Parámetros obsoletos (con false)
['añoacceso'] = false,
['coautor'] = false,
['coautores'] = false,
['día'] = false,
['mes'] = false,
['mesacceso'] = false,
['accessmonth'] = false,
['accessyear'] = false,
-- Parámetros en inglés
['accessdate'] = true,
['access-date'] = true,
['agency'] = true,
['airdate'] = true,
['albumlink'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of titlelink used by old cite AV media notes
['albumtype'] = nil, -- controled inappropriate functionality in the old cite AV media notes
['archivedate'] = true,
['archive-date'] = true,
['archiveurl'] = true,
['archive-url'] = true,
['article'] = true,
['artist'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of others used by old cite AV media notes
['bandname'] = false, -- Obsoleto. Remplazado por artist que será remplazado creo que por others.
['arxiv'] = true,
['ARXIV'] = true,
['at'] = true,
['author'] = true,
['Author'] = true,
['author-first'] = true,
['authorformat'] = true,
['author-format'] = true,
['author-last'] = true,
['authorlink'] = true,
['author-link'] = true,
['authormask'] = true,
['author-mask'] = true,
['author-name-separator'] = true,
['authors'] = true,
['author-separator'] = true,
['booktitle'] = true,
['book-title'] = true,
['callsign']=true, -- cite interview
['cartography'] = true,
['chapter'] = true,
['chapterlink'] = true,
['chapterurl'] = true,
['chapter-url'] = true,
['city']=true, -- cite interview
['coauthor'] = false,
['coauthors'] = false,
['cointerviewers'] = false, -- cite interview
['conference'] = true,
['conferenceurl'] = true,
['conference-url'] = true,
['contribution'] = true,
['contributionurl'] = true,
['contribution-url'] = true,
['date'] = true,
['day'] = false,
['dead-url'] = true,
['deadurl'] = true,
['degree'] = true,
['department'] = true,
['dictionary'] = true,
['director'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of author used by old cite DVD-notes
['displayauthors'] = true,
['display-authors'] = true,
['displayeditors'] = true,
['display-editors'] = true,
['docket'] = true,
['DoiBroken'] = true,
['doi_brokendate'] = true,
['doi_inactivedate'] = true,
['edition'] = true,
['Editor'] = true,
['editor-first'] = true,
['editorformat'] = true,
['editor-format'] = true,
['EditorGiven'] = true,
['editor-last'] = true,
['editorlink'] = true,
['editor-link'] = true,
['editormask'] = true,
['editor-mask'] = true,
['editor-name-separator'] = true,
['editors'] = true,
['editor-separator'] = true,
['EditorSurname'] = true,
['embargo'] = true,
['Embargo'] = true,
['encyclopaedia'] = true,
['encyclopedia'] = true,
['entry'] = true,
['episodelink'] = true,
['event'] = true,
['eventurl'] = true,
['first'] = true,
['format'] = true,
['given'] = true,
['host'] = true,
['ignoreisbnerror'] = true,
['ignore-isbn-error'] = true,
['in'] = true,
['inset'] = true,
['institution'] = true,
['interviewer'] = true, --cite interview
['issue'] = true,
['jfm'] = true,
['JFM'] = true,
['journal'] = true,
['jstor'] = true,
['JSTOR'] = true,
['language'] = true,
['last'] = true,
['lastauthoramp'] = true,
['laydate'] = true,
['laysource'] = true,
['laysummary'] = true,
['layurl'] = true,
['lccn'] = true,
['LCCN'] = true,
['location'] = true,
['magazine'] = true,
['medium'] = true,
['minutes'] = true,
['month'] = false,
['mr'] = true,
['MR'] = true,
['name-separator'] = true,
['network'] = true,
['newspaper'] = true,
['nocat'] = true,
['nopp'] = true,
['notestitle'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of chapter used by old cite AV media notes
['notracking'] = true,
['no-tracking'] = true,
['number'] = true,
['origyear'] = true,
['osti'] = true,
['OSTI'] = true,
['others'] = true,
['p'] = true,
['page'] = true,
['pages'] = true,
['people'] = true,
['periodical'] = true,
['place'] = true,
['pmc'] = true,
['PMC'] = true,
['pmid'] = true,
['PMID'] = true,
['postscript'] = true,
['pp'] = true,
['PPPrefix'] = true,
['PPrefix'] = true,
['program']=true, -- cite interview
['publicationdate'] = true,
['publication-date'] = true,
['publicationplace'] = true,
['publication-place'] = true,
['publisher'] = true,
['publisherid'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of others used by old cite AV media notes and old cite DVD-notes
['quotation'] = true,
['quote'] = true,
['ref'] = true,
['Ref'] = true,
['registration'] = true,
['rfc'] = true,
['RFC'] = true,
['scale'] = true,
['season'] = true,
['section'] = true,
['sectionurl'] = true,
['separator'] = true,
['series'] = true,
['serieslink'] = true,
['seriesno'] = true,
['seriesnumber'] = true,
['series-separator'] = true,
['ssrn'] = true,
['SSRN'] = true,
['station'] = true,
['subject'] = true,
['subjectlink'] = true,
['subscription'] = true,
['surname'] = true,
['template doc demo'] = true,
['time'] = true,
['timecaption'] = true,
['title'] = true,
['titlelink'] = true,
['titleyear'] = false, -- deprecated; set to nil after 1 October 2014; a unique alias of origyear used by old cite DVD-notes
['trans_chapter'] = true,
['trans-chapter'] = true,
['transcript'] = true,
['transcripturl'] = true,
['transcript-url'] = true,
['trans_quote'] = true,
['trans-quote'] = true,
['trans_title'] = true,
['trans-title'] = true,
['type'] = true,
['url-access'] = true,
['version'] = true,
['via'] = true,
['volume'] = true,
['website'] = true,
['work'] = true,
['year'] = true,
['zbl'] = true,
['ZBL'] = true,
},
numbered_arguments = {
['máscaraautor#'] = true,
['máscara-autor#'] = true,
['apellidos#'] = true,
['apellido#'] = true, -- Por apellido1
['apellido-editor#'] = true,
['apellidos-editor#']= true,
['autor#'] = true,
['editor#'] = true,
['enlaceautor#'] = true,
['enlace-autor#'] = true,
['enlace-editor#'] = true,
['nombre#'] = true,
['nombre-editor#'] = true,
['nombres#'] = true,
-- Parámetros en inglés
['author#'] = true,
['Author#'] = true,
['author-first#'] = true,
['author#-first'] = true,
['author-last#'] = true,
['author#-last'] = true,
['author-link#'] = true,
['author#link'] = true,
['author#-link'] = true,
['authorlink#'] = true,
['author-mask#'] = true,
['author#mask'] = true,
['author#-mask'] = true,
['authormask#'] = true,
['authors#'] = true,
['Editor#'] = true,
['editor-first#'] = true,
['editor#-first'] = true,
['editor-given#'] = true,
['EditorGiven#'] = true,
['editor-last#'] = true,
['editor#-last'] = true,
['editor-link#'] = true,
['editor#link'] = true,
['editor#-link'] = true,
['editorlink#'] = true,
['editor-mask#'] = true,
['editor#mask'] = true,
['editor#-mask'] = true,
['editormask#'] = true,
['editors#'] = true,
['editor-surname#'] = true,
['EditorSurname#'] = true,
['first#'] = true,
['given#'] = true,
['last#'] = true,
['subject#'] = true,
['subjectlink#'] = true,
['surname#'] = true,
},
};
return whitelist;
13088e977c9ae18738dde27abcfd73f9e95334d0
Módulo:Citas/ValidaciónFechas
828
54
107
106
2024-01-02T19:49:42Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local p = {}
-- returns a number according to the month in a date: 1 for January, etc. Capitalization and spelling must be correct. If not a valid month, returns 0
function get_month_number (month)
local long_months = {['January']=1, ['February']=2, ['March']=3, ['April']=4, ['May']=5, ['June']=6, ['July']=7, ['August']=8, ['September']=9, ['October']=10, ['November']=11, ['December']=12};
local short_months = {['Jan']=1, ['Feb']=2, ['Mar']=3, ['Apr']=4, ['May']=5, ['Jun']=6, ['Jul']=7, ['Aug']=8, ['Sep']=9, ['Oct']=10, ['Nov']=11, ['Dec']=12};
local temp;
temp=long_months[month];
if temp then return temp; end -- if month is the long-form name
temp=short_months[month];
if temp then return temp; end -- if month is the short-form name
return 0; -- misspelled, improper case, or not a month name
end
-- returns a number according to the sequence of seasons in a year: 1 for Winter, etc. Capitalization and spelling must be correct. If not a valid season, returns 0
function get_season_number (season)
local season_list = {['Winter']=1, ['Spring']=2, ['Summer']=3, ['Fall']=4, ['Autumn']=4}
local temp;
temp=season_list[season];
if temp then return temp; end -- if season is a valid name return its number
return 0; -- misspelled, improper case, or not a season name
end
--returns true if month or season is valid (properly spelled, capitalized, abbreviated)
function is_valid_month_or_season (month_season)
if 0 == get_month_number (month_season) then -- if month text isn't one of the twelve months, might be a season
if 0 == get_season_number (month_season) then -- not a month, is it a season?
return false; -- return false not a month or one of the five seasons
end
end
return true;
end
-- Function gets current year from the server and compares it to year from a citation parameter. Years more than one year in the future are not acceptable.
function is_valid_year(year)
if not is_set(year_limit) then
year_limit = tonumber(os.date("%Y"))+1; -- global variable so we only have to fetch it once (os.date("Y") no longer works?)
end
return tonumber(year) <= year_limit; -- false if year is in the future more than one year
end
--[[
Returns true if day is less than or equal to the number of days in month and year is no farther into the future than next year; else returns false.
Assumes Julian calendar prior to year 1582 and Gregorian calendar thereafter. Accounts for Julian calendar leap years before 1582 and Gregorian leap years after 1582.
Where the two calendars overlap (1582 to approximately 1923) dates are assumed to be Gregorian.
]]
function is_valid_date (year, month, day)
local days_in_month = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
local month_length;
if not is_valid_year(year) then -- no farther into the future than next year
return false;
end
if (2==month) then -- if February
month_length = 28; -- then 28 days unless
if 1582 > tonumber(year) then -- Julian calendar
if 0==(year%4) then
month_length = 29;
end
else -- Gregorian calendar
if (0==(year%4) and (0~=(year%100) or 0==(year%400))) then -- is a leap year?
month_length = 29; -- if leap year then 29 days in February
end
end
else
month_length=days_in_month[month];
end
if tonumber (day) > month_length then
return false;
end
return true;
end
--[[
Check a pair of months or seasons to see if both are valid members of a month or season pair.
Month pairs are expected to be left to right, earliest to latest in time. Similarly, seasons are also left to right, earliest to latest in time. There is
an oddity with seasons. Winter is assigned a value of 1, spring 2, ..., fall and autumn 4. Because winter can follow fall/autumn at the end of a calender year, a special test
is made to see if |date=Fall-Winter yyyy (4-1) is the date.
]]
function is_valid_month_season_range(range_start, range_end)
local range_start_number = get_month_number (range_start);
if 0 == range_start_number then -- is this a month range?
local range_start_number = get_season_number (range_start); -- not a month; is it a season? get start season number
local range_end_number = get_season_number (range_end); -- get end season number
if 0 ~= range_start_number then -- is start of range a season?
if range_start_number < range_end_number then -- range_start is a season
return true; -- return true when range_end is also a season and follows start season; else false
end
if 4 == range_start_number and 1 == range_end_number then -- special case when range is Fall-Winter or Autumn-Winter
return true;
end
end
return false; -- range_start is not a month or a season; or range_start is a season and range_end is not; or improper season sequence
end
local range_end_number = get_month_number (range_end); -- get end month number
if range_start_number < range_end_number then -- range_start is a month; does range_start precede range_end?
return true; -- if yes, return true
end
return false; -- range_start month number is greater than or equal to range end number; or range end isn't a month
end
--[[
Check date format to see that it is one of the formats approved by WP:DATESNO or WP:DATERANGE. Exception: only allowed range separator is endash.
Additionally, check the date to see that it is a real date: no 31 in 30-day months; no 29 February when not a leap year. Months, both long-form and three
character abbreviations, and seasons must be spelled correctly. Future years beyond next year are not allowed.
If the date fails the fomat tests, this function returns false and does not return values for anchor_year and COinS_date. When this happens, the date parameter is
used in the COinS metadata and the CITEREF identifier gets its year from the year parameter if present otherwise CITEREF does not get a date value.
Inputs:
date_string - date string from date-holding parameters (date, year, accessdate, embargo, archivedate, etc)
Returns:
false if date string is not a real date; else
true, anchor_year, COinS_date
anchor_year can be used in CITEREF anchors
COinS_date is date_string without anchor_year disambiguator if any
]]
function check_date (date_string)
local year; -- assume that year2, months, and days are not used;
local year2=0; -- second year in a year range
local month=0;
local month2=0; -- second month in a month range
local day=0;
local day2=0; -- second day in a day range
local anchor_year;
local coins_date;
if date_string:match("^%d%d%d%d%-%d%d%-%d%d$") then -- year-initial numerical year month day format
year, month, day=string.match(date_string, "(%d%d%d%d)%-(%d%d)%-(%d%d)");
month=tonumber(month);
if 12 < month or 1 > month or 1583 > tonumber(year) then return false; end -- month number not valid or not Gregorian calendar
anchor_year = year;
elseif date_string:match("^%a+ +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial: month day, year
month, day, anchor_year, year=string.match(date_string, "(%a+)%s*(%d%d?),%s*((%d%d%d%d)%a?)");
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^%a+ +[1-9]%d?–[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month-initial day range: month day–day, year; days are separated by endash
month, day, day2, anchor_year, year=string.match(date_string, "(%a+) +(%d%d?)–(%d%d?), +((%d%d%d%d)%a?)");
if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same;
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day-initial: day month year
day, month, anchor_year, year=string.match(date_string, "(%d%d*)%s*(%a+)%s*((%d%d%d%d)%a?)");
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^[1-9]%d?–[1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day-range-initial: day–day month year; days are separated by endash
day, day2, month, anchor_year, year=string.match(date_string, "(%d%d?)–(%d%d?) +(%a+) +((%d%d%d%d)%a?)");
if tonumber(day) >= tonumber(day2) then return false; end -- date range order is left to right: earlier to later; dates may not be the same;
month = get_month_number (month);
if 0 == month then return false; end -- return false if month text isn't one of the twelve months
elseif date_string:match("^[1-9]%d? +%a+ – [1-9]%d? +%a+ +[1-9]%d%d%d%a?$") then -- day initial month-day-range: day month - day month year; uses spaced endash
day, month, day2, month2, anchor_year, year=date_string:match("(%d%d?) +(%a+) – (%d%d?) +(%a+) +((%d%d%d%d)%a?)");
if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end -- date range order is left to right: earlier to later;
month = get_month_number (month);
month2 = get_month_number (month2);
elseif date_string:match("^%a+ +[1-9]%d? – %a+ +[1-9]%d?, +[1-9]%d%d%d%a?$") then -- month initial month-day-range: month day – month day, year; uses spaced endash
month, day, month2, day2, anchor_year, year=date_string:match("(%a+) +(%d%d?) – (%a+) +(%d%d?), +((%d%d%d%d)%a?)");
if (not is_valid_month_season_range(month, month2)) or not is_valid_year(year) then return false; end
month = get_month_number (month);
month2 = get_month_number (month2);
elseif date_string:match("^Winter +[1-9]%d%d%d–[1-9]%d%d%d%a?$") then -- special case Winter year-year; year separated with unspaced endash
year, anchor_year, year2=date_string:match("Winter +(%d%d%d%d)–((%d%d%d%d)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years
if 1 ~= tonumber(year2) - tonumber(year) then return false; end -- must be sequential years, left to right, earlier to later
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
elseif date_string:match("^%a+ +[1-9]%d%d%d% – %a+ +[1-9]%d%d%d%a?$") then -- month/season year - month/season year; separated by spaced endash
month, year, month2, anchor_year, year2=date_string:match("(%a+) +(%d%d%d%d) – (%a+) +((%d%d%d%d)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor_year from both years
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
if not((0 ~= get_month_number(month) and 0 ~= get_month_number(month2)) or -- both must be month year or season year, not mixed
(0 ~= get_season_number(month) and 0 ~= get_season_number(month2))) then return false; end
elseif date_string:match ("^%a+–%a+ +[1-9]%d%d%d%a?$") then -- month/season range year; months separated by endash
month, month2, anchor_year, year=date_string:match ("(%a+)–(%a+)%s*((%d%d%d%d)%a?)");
if (not is_valid_month_season_range(month, month2)) or (not is_valid_year(year)) then
return false;
end
elseif date_string:match("^%a+ +%d%d%d%d%a?$") then -- month/season year
month, anchor_year, year=date_string:match("(%a+)%s*((%d%d%d%d)%a?)");
if not is_valid_year(year) then return false; end
if not is_valid_month_or_season (month) then return false; end
elseif date_string:match("^[1-9]%d%d%d?–[1-9]%d%d%d?%a?$") then -- Year range: YYY-YYY or YYY-YYYY or YYYY–YYYY; separated by unspaced endash; 100-9999
year, anchor_year, year2=date_string:match("(%d%d%d%d?)–((%d%d%d%d?)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
elseif date_string:match("^[1-9]%d%d%d–%d%d%a?$") then -- Year range: YYYY–YY; separated by unspaced endash
local century;
year, century, anchor_year, year2=date_string:match("((%d%d)%d%d)–((%d%d)%a?)");
anchor_year=year..'–'..anchor_year; -- assemble anchor year from both years
if 13 > tonumber(year2) then return false; end -- don't allow 2003-05 which might be May 2003
year2 = century..year2; -- add the century to year2 for comparisons
if tonumber(year) >= tonumber(year2) then return false; end -- left to right, earlier to later, not the same
if not is_valid_year(year2) then return false; end -- no year farther in the future than next year
elseif date_string:match("^[1-9]%d%d%d?%a?$") then -- year; here accept either YYY or YYYY
anchor_year, year=date_string:match("((%d%d%d%d?)%a?)");
if false == is_valid_year(year) then
return false;
end
else
return false; -- date format not one of the MOS:DATE approved formats
end
local result=true; -- check whole dates for validity; assume true because not all dates will go through this test
if 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 == day2 then -- YMD (simple whole date)
result=is_valid_date(year,month,day);
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 == month2 and 0 ~= day2 then -- YMD-d (day range)
result=is_valid_date(year,month,day);
result=result and is_valid_date(year,month,day2);
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 == year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-md (day month range)
result=is_valid_date(year,month,day);
result=result and is_valid_date(year,month2,day2);
elseif 0 ~= year and 0 ~= month and 0 ~= day and 0 ~= year2 and 0 ~= month2 and 0 ~= day2 then -- YMD-ymd (day month year range)
result=is_valid_date(year,month,day);
result=result and is_valid_date(year2,month2,day2);
end
if false == result then return false; end
-- if here, then date_string is valid; get coins_date from date_string (leave CITEREF disambiguator) ...
coins_date=date_string:match("^(.+%d)%a?$"); -- last character of valid disambiguatable date is always a digit
coins_date= mw.ustring.gsub(coins_date, "–", "-" ); -- ... and replace any ndash with a hyphen
return true, anchor_year, coins_date; -- format is good and date string represents a real date
end
--[[
Cycle the date-holding parameters in passed table date_parameters_list through check_date() to check compliance with MOS:DATE. For all valid dates, check_date() returns
true. The |date= parameter test is unique, it is the only date holding parameter from which values for anchor_year (used in CITEREF identifiers) and COinS_date (used in
the COinS metadata) are derived. The |date= parameter is the only date-holding parameter that is allowed to contain the no-date keywords "n.d." or "nd" (without quotes).
Unlike most error messages created in this module, only one error message is created by this function. Because all of the date holding parameters are processed serially,
a single error message is created as the dates are tested.
]]
function p.dates(date_parameters_list)
local anchor_year; -- will return as nil if the date being tested is not |date=
local COinS_date; -- will return as nil if the date being tested is not |date=
local error_message ="";
local good_date=false;
for k, v in pairs(date_parameters_list) do -- for each date-holding parameter in the list
if is_set(v) then -- if the parameter has a value
if v:match("^c%. [1-9]%d%d%d?%a?$") then -- special case for c. year or with or without CITEREF disambiguator - only |date= and |year=
local year = v:match("c%. ([1-9]%d%d%d?)%a?"); -- get the year portion so it can be tested
if 'date'==k then
anchor_year, COinS_date = v:match("((c%. [1-9]%d%d%d?)%a?)"); -- anchor year and COinS_date only from |date= parameter
good_date = is_valid_year(year);
elseif 'year'==k then
good_date = is_valid_year(year);
end
elseif 'date'==k then -- if the parameter is |date=
if v:match("n%.d%.%a?") then -- if |date=n.d. with or without a CITEREF disambiguator
good_date, anchor_year, COinS_date = true, v:match("((n%.d%.)%a?)"); --"n.d."; no error when date parameter is set to no date
elseif v:match("nd%a?$") then -- if |date=nd with or without a CITEREF disambiguator
good_date, anchor_year, COinS_date = true, v:match("((nd)%a?)"); --"nd"; no error when date parameter is set to no date
else
good_date, anchor_year, COinS_date = check_date (v); -- go test the date
end
else -- any other date-holding parameter
good_date = check_date (v); -- go test the date
end
if false==good_date then -- assemble one error message so we don't add the tracking category multiple times
if is_set(error_message) then -- once we've added the first portion of the error message ...
error_message=error_message .. ", "; -- ... add a comma space separator
end
error_message=error_message .. "|" .. k .. "="; -- add the failed parameter
end
end
end
return anchor_year, COinS_date, error_message; -- and done
end
return p;
a618b80cb2842cc9459a692e075576b23f86cadf
Módulo:Identificadores
828
55
109
108
2024-01-02T19:49:42Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local p = {}
--[[
ISBN-10 and ISSN validator code calculates checksum across all isbn/issn digits including the check digit. ISBN-13 is checked in checkisbn().
If the number is valid the result will be 0. Before calling this function, issbn/issn must be checked for length and stripped of dashes,
spaces and other non-isxn characters.
]]
-- Función traída de en:Module:Citation/CS1
function p.esValidoISXN (isxn_str, len)
local temp = 0;
isxn_str = { isxn_str:byte(1, len) }; -- make a table of bytes
len = len+1; -- adjust to be a loop counter
for i, v in ipairs( isxn_str ) do -- loop through all of the bytes and calculate the checksum
if v == string.byte( "X" ) then -- if checkdigit is X
temp = temp + 10*( len - i ); -- it represents 10 decimal
else
temp = temp + tonumber( string.char(v) )*(len-i);
end
end
return temp % 11 == 0; -- returns true if calculation result is zero
end
-- Adaptación de la función checkisbn de en:Module:Citation/CS1
function p.esValidoISBN(isbn)
-- El isbn solo contiene números, guiones, espacios en blanco y el dígito de
-- control X.
if not isbn or isbn:match("[^%s-0-9X]") then
return false
end
-- Eliminar los guiones y espacios en blanco
isbn = isbn:gsub( "-", "" ):gsub( " ", "" )
local longitud = isbn:len()
if longitud == 10 then
-- La X solo puede ir al final.
if not isbn:match( "^%d*X?$" ) then
return false
end
return p.esValidoISXN(isbn, 10);
elseif longitud == 13 then -- isbn13
local temp = 0;
-- Debe comenzar por 978 o 979
if not isbn:match( "^97[89]%d*$" ) then
return false
end
-- Comprobar el dígito de control
isbn = { isbn:byte(1, longitud) };
for i, v in ipairs( isbn ) do
temp = temp + (3 - 2*(i % 2)) * tonumber( string.char(v) );
end
return temp % 10 == 0;
else
return false
end
end
-- Función que devuelve un enlace al ISBN si es correcto y si no (por ejemplo si
-- ya está enlazado) lo devuelve sin más.
-- Por defecto no se incluye el literal ISBN delante.
function p.enlazarISBN(isbn, opciones)
if p.esValidoISBN(isbn) then
return '[[Especial:FuentesDeLibros/' .. isbn .. '|' .. isbn .. ']]'
else
return isbn
end
end
function p.enlazarOCLC(oclc, opciones)
if tonumber(oclc) then
return '[http://www.worldcat.org/oclc/' .. oclc .. ' ' .. oclc .. ']'
else
return oclc
end
end
return p
609f323241054859e4a7137e12bf8061389f3771
Plantilla:Control de autoridades
10
56
111
110
2024-01-02T19:49:43Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{#invoke:Control de autoridades|authorityControl}}<noinclude>{{documentación}}</noinclude>
8b72da389c2a92bd16ce8d097d39771b3b450284
Plantilla:Control de autoridades/styles.css
10
57
113
112
2024-01-02T19:49:43Z
Superballing2008
2
1 revisión importada
text
text/plain
/**
* [[Categoría:Wikipedia:Subpáginas de estilo de plantillas]]
*/
.mw-authority-control {
margin-top: 1.5em;
}
.mw-authority-control .navbox table {
margin: 0;
}
.mw-authority-control .navbox hr:last-child {
display: none;
}
.mw-authority-control .navbox + .mw-mf-linked-projects {
display: none;
}
.mw-authority-control .mw-mf-linked-projects {
display: flex;
padding: 0.5em;
border: 1px solid #c8ccd1;
background-color: #eaecf0;
color: #222222;
}
.mw-authority-control .mw-mf-linked-projects ul li {
margin-bottom: 0;
}
a877a525aeafc153e1d024760c5f7bbeb9d248d6
Módulo:Control de autoridades
828
58
115
114
2024-01-02T19:49:44Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
require('Módulo:No globals')
local function cleanLink ( link, style )
-- similar to mw.uri.encode
local wikiLink = link
if style == 'PATH' then
wikiLink = mw.ustring.gsub( wikiLink, ' ', '%%%%20' )
elseif style == 'WIKI' then
wikiLink = mw.ustring.gsub( wikiLink, ' ', '_' )
wikiLink = mw.ustring.gsub( wikiLink, '?', '%%%%3F')
else -- if style == 'QUERY' then -- default
wikiLink = mw.ustring.gsub( wikiLink, ' ', '+' )
end
wikiLink = mw.ustring.gsub( wikiLink, '%[', '%%5B' )
wikiLink = mw.ustring.gsub( wikiLink, '%]', '%%5D' )
wikiLink = mw.ustring.gsub( wikiLink, '%"', '%%%%22' )
return wikiLink
end
local function generic ( id, link, parameter )
local idlink = cleanLink( id, 'PATH' )
link = mw.ustring.gsub( link, '$1', idlink )
return '[' .. link .. ' ' .. id .. ']'
end
local function noLink ( id, link, parameter )
-- evita generar un enlace externo junto con el identificador
return id
end
local function bncLink ( id, link, parameter )
-- filtro local del BNC, para evadir multitud de identificadores de Wikidata que no se enlazan adecuadamente
-- véase https://www.wikidata.org/wiki/Wikidata:Database_reports/Constraint_violations/P1890#%22Format%22_violations
if ( string.match( id, '^%d%d%d%d%d%d%d%d%d$' ) ) then
return generic ( id, link, parameter )
end
return false
end
local function bnfLink ( id, link, parameter )
-- representación local del BNF, con doble enlace
return generic( id, link, parameter ) .. ' [http://data.bnf.fr/ark:/12148/cb' .. id .. ' (data)]'
end
local function icd11Link ( id, link, parameter )
-- la propiedad P7329 no genera un enlace externo, así que se usarán los valores de P7807 cuando esté definida
local foundation = getIdsFromWikidata(mw.wikibase.getEntityIdForCurrentPage(), 'P7807')
if foundation and foundation[1] then
link = 'https://icd.who.int/browse11/l-m/en#/http://id.who.int/icd/entity/$1'
link = link:gsub('$1', foundation[1])
return generic(id, link, parameter)
else
return id
end
end
local function ineLink ( id, link, parameter )
-- representación especial del INE, enlace no estándar con cinco parámetros utilizados
local ineMainRE, ineTailRE = '^(%d%d)(%d%d%d)', '(%d%d)(%d%d)(%d%d)'
local codProv, codMuni, codEC, codES, codNUC = string.match( id, ineMainRE .. ineTailRE .. '$' )
if not codEC or not codES or not codNUC then
codProv, codMuni = string.match( id, ineMainRE .. '$' )
if codProv and codMuni then
codEC, codES, codNUC = '00', '00', '00'
else
codProv, codMuni = string.match( id, ineMainRE )
codEC, codES, codNUC = '', '', ''
end
end
if codProv and codMuni then
link = 'http://www.ine.es/nomen2/inicio_a.do?accion=busquedaAvanzada&inicio=inicio_a&subaccion=&botonBusquedaAvanzada=Consultar+selecci%C3%B3n&numPag=0&ordenAnios=ASC&comunidad=00&entidad_amb=no&poblacion_amb=T&poblacion_op=%3D&poblacion_txt=&denominacion_op=like&denominacion_txt=&codProv=$1&codMuni=$2&codEC=$3&codES=$4&codNUC=$5'
link = link:gsub('$1', codProv):gsub('$2', codMuni):gsub('$3', codEC):gsub('$4', codES):gsub('$5', codNUC)
return generic( id, link, parameter )
end
return id
end
local function commonscat ( id, link, parameter )
-- representación especial del enlace a las categorías de Commons, para mantener el formato de enlace interwiki
local idlink = cleanLink( id, 'WIKI' )
link = mw.ustring.gsub( link, '$1', idlink )
return '<span class="plainlinks">[' .. link .. ' ' .. id .. ']</span>'
end
local function sisterprojects ( id, link, parameter )
-- enlaces interproyecto
local prefix = {
-- Ejemplo: -- enwiki = 'w:en',
commonswiki = 'c',
eswikivoyage = 'voy',
eswiktionary = 'wikt',
eswikibooks = 'b',
eswikinews = 'n',
eswikiversity = 'v',
eswikiquote = 'q',
eswikisource = 's',
mediawikiwiki = 'mw',
metawiki = 'm',
specieswiki = 'species',
}
if prefix[ parameter ] then
return '[['..prefix[ parameter ]..':'..id..'|'..id..']]'
end
return false
end
function getCommonsValue ( itemId )
local commonslink = ''
local categories = ''
local property = getIdsFromWikidata( itemId, 'P373' )
if property and property[1] then
property = property[1]
commonslink = commonslink .. getLink( 373, property, commonscat )
else
property = ''
end
local sitelink = getIdsFromSitelinks( itemId, 'commonswiki' )
if sitelink and sitelink[1] then
sitelink = sitelink[1]
if sitelink ~= 'Category:' .. property then
if commonslink == '' then
commonslink = commonslink .. sisterprojects( sitelink, nil, 'commonswiki' )
end
end
else
sitelink = ''
end
if property and sitelink then
if sitelink ~= 'Category:' .. property then
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades con enlaces diferentes de Commons]]'
end
elseif sitelink then -- not property
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades sin Commonscat]]'
elseif property then -- not sitelink
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades sin Commons]]'
else -- not property and not sitelink
-- categories = categories .. '[[Categoría:Wikipedia:Control de autoridades sin ningún enlace de Commons]]'
end
if commonslink ~= '' then
-- Special:MediaSearch
local mediasearch = 'https://commons.wikimedia.org/wiki/Special:MediaSearch?type=image&search=%22$1%22'
commonslink = commonslink .. ' / ' .. commonscat( itemId, mediasearch )
return { commonslink .. categories }
end
return {}
end
local conf = {}
--In this order: name of the parameter, label, propertyId in Wikidata, formatting function, category id
-- -- name of the parameter: unique name
-- -- label: internal link in wiki format
-- -- propertyId in Wikidata: number without 'P' suffix
-- -- formatting function: one of these four options
-- -- -- local function (like 'generic')
-- -- -- string 'y' (yes), to show a default identifier 'ID'
-- -- -- string 'n' (no), to show the real identifier
-- -- -- any other string, to show this string as identifier ('id', 'url', 'link', ...)
-- -- category id: one of these tree options
-- -- -- number 0, to not add category
-- -- -- number 1, to add a category based on the name of the parameter
-- -- -- any string, to add a category based on this string
conf.databases = {}
conf.databases[1] = {}
conf.databases[1].name = '[[Control de autoridades]]'
conf.databases[1].list = {
{
title = 'Proyectos Wikimedia',
group = {
{ 'Wikidata', '[[Archivo:Wikidata-logo.svg|20px|link=Wikidata|alt=Wd|Wikidata]] Datos', 'Wikidata:$1', 'n', 0 },
{ 'Commons', '[[Archivo:Commons-logo.svg|15px|link=Wikimedia Commons|alt=Commonscat|Commonscat]] Multimedia', getCommonsValue, 'n', 0 },
{ 'Wikivoyage', '[[Archivo:Wikivoyage-logo.svg|15px|link=Wikiviajes|alt=Wikivoyage|Wikivoyage]] Guía turística', 'eswikivoyage', sisterprojects, 0 },
{ 'Wiktionary', '[[Archivo:Wiktionary-logo.svg|15px|link=Wikcionario|alt=Wiktionary|Wiktionary]] Diccionario', 'eswiktionary', sisterprojects, 0 },
{ 'Wikibooks', '[[Archivo:Wikibooks-logo.svg|15px|link=Wikilibros|alt=Wikibooks|Wikibooks]] Libros y manuales', 'eswikibooks', sisterprojects, 0 },
{ 'Wikinews', '[[Archivo:Wikinews-logo.svg|20px|link=Wikinoticias|alt=Wikinews|Wikinews]] Noticias', 'eswikinews', sisterprojects, 0 },
{ 'Wikiversity', '[[Archivo:Wikiversity-logo.svg|15px|link=Wikiversidad|alt=Wikiversity|Wikiversity]] Recursos didácticos', 'eswikiversity', sisterprojects, 0 },
{ 'Wikiquote', '[[Archivo:Wikiquote-logo.svg|15px|link=Wikiquote|alt=Wikiquote|Wikiquote]] Citas célebres', 'eswikiquote', sisterprojects, 0 },
{ 'Wikisource', '[[Archivo:Wikisource-logo.svg|15px|link=Wikisource|alt=Wikisource|Wikisource]] Textos', 'eswikisource', sisterprojects, 0 },
{ 'MediaWiki', '[[Archivo:MediaWiki-2020-icon.svg|20px|link=MediaWiki|alt=MediaWiki|MediaWiki]] MediaWiki', 'mediawikiwiki', sisterprojects, 0 },
{ 'Meta-Wiki', '[[Archivo:Wikimedia Community Logo.svg|15px|link=Wikimedia Meta-Wiki|alt=Meta-Wiki|Meta-Wiki]] Coordinación', 'metawiki', sisterprojects, 0 },
{ 'Wikispecies', '[[Archivo:Wikispecies-logo.svg|15px|link=Wikispecies|alt=Wikispecies|Wikispecies]] Especies', 'specieswiki', sisterprojects, 0 },
},
},
{
title = 'Identificadores',
group = {
{ 'ISSN', '[[ISSN]]', 236, 'n', 1 },
{ 'VIAF', '[[Fichero de Autoridades Virtual Internacional|VIAF]]', 214, 'n', 1 },
{ 'ISNI', '[[International Standard Name Identifier|ISNI]]', 213, 'n', 1 },
{ 'BCN', '[[Biblioteca del Congreso de la Nación Argentina|BCN]]', 2879, 'n', 1 },
{ 'BNA', '[[Biblioteca Nacional de la República Argentina|BNA]]', 3788, 'n', 1 },
{ 'BNE', '[[Biblioteca Nacional de España|BNE]]', 950, 'n', 1 },
{ 'BNF', '[[Biblioteca Nacional de Francia|BNF]]', 268, bnfLink, 1 },
{ 'BNM', '[[Biblioteca Nacional de México|BNM]]', 4440, 'n', 1 },
{ 'BNC', '[[Biblioteca Nacional de Chile|BNC]]', 1890, bncLink, 1 },
{ 'CANTIC', '[[Biblioteca de Cataluña|CANTIC]]', 9984, 'n', 1 },
{ 'GND', '[[Gemeinsame Normdatei|GND]]', 227, 'n', 1 },
{ 'LCCN', '[[Library of Congress Control Number|LCCN]]', 244, 'n', 1 },
{ 'NCL', '[[Biblioteca central de Taiwán|NCL]]', 1048, 'n', 0 },
{ 'NDL', '[[Biblioteca Nacional de la Dieta|NDL]]', 349, 'n', 0 },
{ 'NKC', '[[Biblioteca Nacional de la República Checa|NKC]]', 691, 'n', 0 },
{ 'NLA', '[[Biblioteca Nacional de Australia|NLA]]', 409, 'n', 1 },
{ 'RLS', '[[Biblioteca del Estado Ruso|BER]]', 947, 'n', 0 },
{ 'J9U', '[[Biblioteca Nacional de Israel|NLI]]', 8189, 'n', 0 },
{ 'CINII', '[[CiNii]]', 271, 'n', 0 },
{ 'NARA', '[[National Archives and Records Administration|NARA]]', 1225, 'n', 0 },
{ 'LCCNLCOC', '[[Library of Congress Control Number|LCCN]]', 1144, 'n', 0 },
{ 'SNAC', '[[d:Q29861311|SNAC]]', 3430, 'n', 1 },
{ 'S2', '[[:d:Q22908627|S2]]', 4012, 'n', 0 },
{ 'SUDOC', '[[Système universitaire de documentation|SUDOC]]', 269, 'n', 0 },
{ 'ULAN', '[[Union List of Artist Names|ULAN]]', 245, 'n', 1 },
{ 'frickSpain ', '[[Colección Frick|research.frick]]', 8572, 'n', 1 },
{ 'ORCID', '[[ORCID]]', 496, 'n', 1 },
{ 'Scopus', '[[Scopus]]', 1153, 'n', 1 },
-- { 'SELIBR', '[[LIBRIS|SELIBR]]', 906, 'n', 1 },
{ 'BIBSYS', '[[BIBSYS]]', 1015, 'n', 1 },
{ 'IPNIaut', '[[Índice Internacional de Nombres de las Plantas|IPNI]]', 586, 'n', 'IPNI' },
{ 'MGP', '[[Mathematics Genealogy Project|MGP]]', 549, 'n', 0 },
{ 'autores.uy', '[[autores.uy]]', 2558, 'n', 1 },
{ 'Slovenska biografija', '[[:d:Q15975890|Slovenska biografija]]', 1254, 'n', 0 },
{ 'SBN', '[[Istituto Centrale per il Catalogo Unico|ICCU]]', 396, 'n', 1 },
{ 'ARAE', '[[:d:Q105580684|ARAE]]', 9226, 'n', 1 },
{ 'DeutscheBiographie', '[[Deutsche Biographie]]', 7902, 'n', 1 },
{ 'CCBAE', '[[:d:Q61505171|CCBAE]]', 6493, 'n', 1 },
-- { 'DIR3', '[[Directorio Común de Unidades Orgánicas y Oficinas|DIR3]]', 6222, 'n', 1 },
{ 'CensoGuia', '[[Censo-Guía de Archivos de España e Iberoamérica]]', 3998, 'n', 'Censo-Guía' },
{ 'Libraries.org', 'Libraries.org', 4848, 'n', 1 },
{ 'DirectorioMuseos', '[[:d:Q56246649|Directorio de Museos y Colecciones de España]]', 5763, 'n', 1 },
{ 'SUCA', 'SUCA', 5946, 'n', 1 },
{ 'BOE', '[[Boletín Oficial del Estado|BOE]]', 4256, 'n', 1 },
{ 'RoyalSociety', '[[Royal Society]]', 2070, 'url', 'Royal Society' },
{ 'HAW', '[[Academia de Ciencias y Humanidades de Heidelberg|HAW]]', 2273, 'n', 1 },
{ 'SAW', '[[Academia Sajona de Ciencias de Leipzig|SAW]]', 3411, 'n', 1 },
{ 'KNAW', '[[Real Academia de Artes y Ciencias de los Países Bajos|KNAW]]', 2454, 'n', 1 },
-- { 'KVAB', '[[Real Academia Flamenca de Ciencias y Artes de Bélgica|KVAB]]', 3887, 'n', 1 },
{ 'Leopoldina', '[[Deutsche Akademie der Naturforscher Leopoldina|Leopoldina]]', 3413, 'n', 1 },
{ 'CONICET', '[[CONICET]]', 3900, 'n', 1 },
{ 'Grierson', '[[Directorio de científicos argentinos Dra. Grierson|Grierson]]', 3946, 'n', 1 },
{ 'RANM', '[[Real Academia Nacional de Medicina|RANM]]', 3945, 'n', 1 },
-- { 'ANMF', '[[Académie Nationale de Médecine|ANMF]]', 3956, 'n', 1 },
{ 'Léonore', '[[Base Léonore|Léonore]]', 11152, 'n', 0 },
{ 'USCongress', '[[Biographical Directory of the United States Congress|US Congress]]', 1157, 'n', 0 },
{ 'BPN', '[[Biografisch Portaal|BPN]]', 651, 'n', 1 },
-- { 'ISCO', '[[d:Q1233766|ISCO]]', 952, 'n', 1 },
{ 'AAT', '[[Art & Architecture Thesaurus|AAT]]', 1014, 'n', 1 },
{ 'OpenLibrary', '[[Open Library]]', 648, 'n', 'Open Library' },
{ 'PARES', '[[PARES]]', 4813, 'n', 1 },
{ 'SSRN', '[[Social Science Research Network|SSRN]]', 3747, 'n', 'SSRN autor' },
{ 'SIKART', '[[SIKART]]', 781, 'n', 0 },
{ 'KULTURNAV', '[[KulturNav]]', 1248, 'id', 0 },
{ 'RKDartists', '[[Rijksbureau voor Kunsthistorische Documentatie|RKD]]', 650, 'n', 1 },
{ 'GoogleScholar', '[[Google Académico]]', 1960, 'n', 'Google Académico' },
-- { 'Microsoft Academic', '[[Microsoft Academic]]', 6366, 'n', 1 },
{ 'RID', '[[ResearcherID]]', 1053, 'n', 1 },
{ 'NLM', '[[Biblioteca Nacional de Medicina de los Estados Unidos|NLM]]', 1055, 'n', 1 },
{ 'Latindex', '[[Latindex]]', 3127, 'n', 1 },
{ 'ERIH PLUS', '[[ERIH PLUS]]', 3434, 'n', 1 },
{ 'IPNIpub', '[[Índice Internacional de Nombres de las Plantas|IPNI]]', 2008, 'n', 1 },
{ 'SUDOCcat', '[[Système universitaire de documentation|SUDOC]]', 1025, 'n', 'SUDOC catálogo' },
{ 'ZDB', '[[Zeitschriftendatenbank|ZDB]]', 1042, 'n', 1 },
{ 'NorwegianRegister', '[[Norsk senter for forskningsdata|Norwegian Register]]', 1270, 'n', 'Norwegian Register' },
{ 'DOAJ', '[[Directory of Open Access Journals|DOAJ]]', 5115, 'n', 1 },
{ 'ACNP', 'ACNP', 6981, 'n', 1 },
{ 'DipFedBra', '[[Cámara de Diputados de Brasil]]', 7480, 'n', 1 },
{ 'HCDN', '[[Cámara de Diputados de la Nación Argentina|Estadísticas HCDN]]', 4693, 'n', 1 },
{ 'HCDNbio', '[[Cámara de Diputados de la Nación Argentina|Biografía HCDN]]', 5225, 'n', 1 },
{ 'Directorio Legislativo', 'Directorio Legislativo', 6585, 'n', 0 },
-- { 'Legislatura CABA', '[[Legislatura de la Ciudad de Buenos Aires|Legislatura CABA]]', 4667, 'n', 1 },
{ 'Archivo Histórico de Diputados de España', '[[Congreso de los Diputados|Archivo Histórico de Diputados (1810-1977)]]', 9033, 'n', 1 },
{ 'Senadores de España (1834-1923)', '[[Senado de España|Senadores de España (1834-1923)]]', 10265, 'n', 1 },
{ 'Asamblea de Madrid', '[[Asamblea de Madrid]]', 4797, 'n', 1 },
{ 'BCNCL', '[[Biblioteca del Congreso Nacional de Chile|Biografías BCN]]', 5442, 'url', 0 },
{ 'RBD', '[[Ministerio de Educación de Chile|RBD MINEDUC]]', 1919, 'n', 0 },
{ 'CineChile', 'CineChile', 6750, 'url', 0 },
{ 'Tebeosfera-autor', '[[Tebeosfera]]', 5562, 'n', 1 },
{ 'DPRR', 'DPRR', 6863, 'n', 0},
{ 'tribunsdelaplebe.fr', 'TDLP', 8961, 'n', 0},
{ 'Pleiades', 'Pleiades', 1584, 'n', 0},
{ 'IMO', '[[Organización Marítima Internacional|IMO]]', 458, 'n', 0},
{ 'Mnemosine', '[[Mnemosine. Biblioteca Digital de La otra Edad de Plata|Mnemosine]]', 10373, 'n', 0 },
{ 'Renacyt', '[[Registro Nacional Científico, Tecnológico y de Innovación Tecnológica|Renacyt]]', 10452, 'n', 0 },
{ 'MuseodeOrsayArtistas', '[[Museo de Orsay]]', 2268, 'n', 'Museo de Orsay (artista)' },
{ 'Thyssen-BornemiszaArtistas', '[[Museo Thyssen-Bornemisza|Thyssen-Bornemisza]]', 2431, 'n', 'Thyssen-Bornemisza (artista)' },
{ 'AWARE', '[[Archives of Women Artists, Research and Exhibitions|AWARE]]', 6637, 'url', 0 },
},
},
{
title = 'Diccionarios y enciclopedias',
group = {
{ 'Auñamendi', '[[Enciclopedia Auñamendi|Auñamendi]]', 3218, 'n', 1 },
-- { 'GEA', '[[Gran Enciclopedia Aragonesa|GEA]]', 1807, 'n', 1 },
{ 'GEN', '[[Gran Enciclopedia Navarra|GEN]]', 7388, 'n', 1 },
{ 'DBSE', '[[Diccionario biográfico del socialismo español|DBSE]]', 2985, 'url', 1 },
{ 'DBE', '[[Diccionario biográfico español|DBE]]', 4459, 'url', 1 },
{ 'HDS', '[[Historical Dictionary of Switzerland|HDS]]', 902, 'n', 0 },
{ 'LIR', '[[Diccionario histórico de Suiza|LIR]]', 886, 'n', 0 },
{ 'TLS', '[[Theaterlexikon der Schweiz|TLS]]', 1362, 'n', 0 },
{ 'Britannica', '[[Enciclopedia Británica|Britannica]]', 1417, 'url', 0 },
{ 'ELEM', '[[Enciclopedia de la Literatura en México|ELEM]]', 1565, 'n', 0 },
{ 'Treccani', '[[Enciclopedia Treccani|Treccani]]', 4223, 'url', 0 },
{ 'Iranica', '[[Encyclopædia Iranica]]', 3021, 'n', 1 },
},
},
{
title = 'Repositorios digitales',
group = {
{ 'PerséeRevista', '[[Persée (portal)|Persée]]', 2733, 'n', 'Persée revista' },
{ 'DialnetRevista', '[[Dialnet]]', 1609, 'n', 'Dialnet revista' },
{ 'Redalyc', '[[Redalyc]]', 3131, 'n', 1 },
-- { 'UNZrevista', '[[UNZ.org|UNZ]]', 2735, 'n', 0 },
-- { 'JSTORrevista', '[[JSTOR]]', 1230, 'n', 'JSTOR revista' },
{ 'HathiTrust', '[[HathiTrust]]', 1844, 'n', 1 },
{ 'Galicianaobra', '[[Galiciana]]', 3004, 'n', 'Galiciana obra' },
{ 'Trove', '[[Trove]]', 5603, 'n', 1 },
{ 'BVMCobra', '[[Biblioteca Virtual Miguel de Cervantes|BVMC]]', 3976, 'n', 'BVMC obra' },
{ 'BVMCpersona', '[[Biblioteca Virtual Miguel de Cervantes|BVMC]]', 2799, 'n', 'BVMC persona' },
{ 'Persée', '[[Persée (portal)|Persée]]', 2732, 'n', 1 },
{ 'Dialnet', '[[Dialnet]]', 1607, 'n', 1 },
{ 'GutenbergAutor', '[[Proyecto Gutenberg]]', 1938, 'n', 'Proyecto Gutenberg autor' },
{ 'BHL-bibliografia', '[[Biodiversity Heritage Library|BHL]]', 4327, 'n', 0 },
-- { 'UNZautor', '[[UNZ.org|UNZ]]', 2734, 'n', 'UNZ' },
{ 'TLL', '[[:d:Q570837|TLL]]', 7042, 'n', 'The Latin Library' },
{ 'BDCYL', '[[Biblioteca Digital de Castilla y León|BDCYL]]', 3964, 'n', 1 },
{ 'BVPB', '[[Biblioteca Virtual del Patrimonio Bibliográfico|BVPB]]', 4802, 'n', 1 },
{ 'PDCLM', '[[d:Q61500710|Patrimonio Digital de Castilla-La Mancha]]', 6490, 'n', 1 },
{ 'BVANDALUCIA', '[[Biblioteca Virtual de Andalucía|BVA]]', 6496, 'n', 1 },
{ 'BVPHautoridad', '[[Biblioteca Virtual de Prensa Histórica|BVPH]]', 6492, 'n', 1 },
{ 'BivaldiAutor', '[[Biblioteca Valenciana Digital|BiValDi]]', 3932, 'n', 'Bivaldi autor' },
{ 'GalicianaAutor', '[[Galiciana]]', 3307, 'n', 'Galiciana autor' },
{ 'Packard Humanities Institute', '[[Packard Humanities Institute|PHI]]', 6941, 'n', 0 },
{ 'Europeana', '[[Europeana]]', 7704, 'n', 1 },
{ 'DOI', '[[Identificador de objeto digital|DOI]]', 356, 'n', 1 },
{ 'Handle', '[[Sistema Handle|Handle]]', 1184, 'url', 1 },
{ 'MNCARS', '[[Museo Nacional Centro de Arte Reina Sofía|MNCARS]]', 4439, 'url', 1 },
{ 'MuseoDelPradoPersona', '[[Museo del Prado]]', 5321, 'n', 'Museo del Prado (persona)' },
{ 'MuseoDelPradoObra', '[[Museo del Prado]]', 8905, 'n', 'Museo del Prado (obra)' },
{ 'Museo Smithsoniano de Arte AmericanoPersona', '[[Museo Smithsoniano de Arte Americano|SAAM]]', 1795, 'n', 'SAAM (persona)' },
{ 'Museo Smithsoniano de Arte AmericanObra', '[[Museo Smithsoniano de Arte Americano|SAAM]]', 4704, 'n', 'SAAM (obra)' },
},
},
{
title = 'Hemerotecas digitales',
group = {
{ 'HemBNE', '[[Hemeroteca Digital de la Biblioteca Nacional de España|Hemeroteca digital de la BNE]]', 12151, 'n', 1 },
{ 'BVPH', '[[Biblioteca Virtual de Prensa Histórica]]', 2961, 'n', 1 },
{ 'Memoriademadrid', '[[Memoriademadrid]]', 7372, 'n', 1 },
},
},
{
title = 'Astronomía',
group = {
{ 'Simbad', '[[SIMBAD]]', 3083, 'n', 0 },
{ 'JPL-Small-Body-Database', '[[JPL Small-Body Database|JPL]]', 716, 'n', 0 },
{ 'MPC', '[[Centro de Planetas Menores|MPC]]', 5736, 'n', 0 },
{ 'NASA-Exoplanet-Archive', '[[NASA Exoplanet Archive]]', 5667, 'n', 0 },
{ 'GazPlaNom', 'Gazetteer of Planetary Nomenclature', 2824, 'n', 0 },
},
},
{
title = 'Lugares',
group = {
{ 'OSM', '[[OpenStreetMap|OSM]]', 402, 'n', 'Relación OSM' },
{ 'TGN', '[[Getty Thesaurus of Geographic Names|TGN]]', 1667, 'n', 1 },
{ 'AtlasIR', '[[:d:Q24575107|Atlas Digital del Imperio Romano]]', 1936, 'n', 0 },
{ 'Pleiades', '[[:d:Q24423804|Pleiades]]', 1584, 'n', 0 },
{ 'TmGEO', '[[:d:Q22094624|Trismegistos GEO]]', 1958, 'n', 0 },
{ 'SNCZI-IPE-EMBALSE', '[[Sistema Nacional de Cartografía de Zonas Inundables|SNCZI]]-IPE', 4568, 'n', 'SNCZI-IPE embalse' },
{ 'SNCZI-IPE-PRESA', '[[Sistema Nacional de Cartografía de Zonas Inundables|SNCZI]]-IPE', 4558, 'n', 'SNCZI-IPE presa' },
{ 'NATURA2000', '[[Red Natura 2000|Natura 2000]]', 3425, 'n', 'Natura 2000' },
{ 'WWF', '[[Fondo Mundial para la Naturaleza|WWF]]', 1294, 'n', 1 },
{ 'IDESCAT', '[[Instituto de Estadística de Cataluña|IDESCAT]]', 4335, 'n', 1 },
{ 'INE', '[[Instituto Nacional de Estadística (España)|INE]]', 772, ineLink, 1 },
{ 'INE Portugal', '[[Instituto Nacional de Estatística (Portugal)|INE]]', 6324, 'n', 1 },
{ 'ISTAT', '[[Istituto Nazionale di Statistica|ISTAT]]', 635, 'n', 1 },
{ 'OFS-Suiza', '[[Oficina Federal de Estadística (Suiza)|OFS]]', 771, 'n', 1 },
{ 'IBGE', '[[Instituto Brasileiro de Geografia e Estatística|IBGE]]', 1585, 'n', 1 },
{ 'TOID', '[[TOID]]', 3120, 'n', 1 },
{ 'INSEE-commune', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 374, 'n', 'INSEE (comuna)' },
{ 'INSEE-departamento', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 2586, 'n', 'INSEE (departamento)' },
{ 'INSEE-region', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 2585, 'n', 'INSEE (región)' },
{ 'INSEE-canton', '[[Institut National de la Statistique et des Études Économiques|INSEE]]', 2506, 'n', 'INSEE (cantón)' },
{ 'SIRUTA', '[[SIRUTA]]', 843, 'n', 1 },
{ 'LAU', '[[Unidad administrativa local|LAU]]', 782, 'n', 1 },
{ 'KSH', '[[Központi Statisztikai Hivatal|KSH]]', 939, 'n', 1 },
{ 'OKATO', '[[OKATO]]', 721, 'n', 1 },
{ 'OSTAT', '[[Statistik Austria|ÖSTAT]]', 964, 'n', 'ÖSTAT-Nr'},
{ 'GNIS', '[[Geographic Names Information System|GNIS]]', 590, 'n', 0},
{ 'WDTA', '[[Base de Datos Mundial sobre Áreas Protegidas|WDTA]]', 809, 'n', 0 },
},
},
{
title = 'Arquitectura',
group = {
{ 'DocomomoIberico', '[[Fundación Docomomo Ibérico|Docomomo Ibérico]]', 3758, 'n', 'Docomomo Ibérico' },
{ 'COAMinmueble', '[[Colegio Oficial de Arquitectos de Madrid|COAM]]', 2917, 'n', 'COAM inmueble' },
{ 'COAMpersona', '[[Colegio Oficial de Arquitectos de Madrid|COAM]]', 4488, 'n', 'COAM persona' },
},
},
{
title = 'Faros',
group = {
{ 'ARHLS', '[[Amateur Radio Lighthouse Society|ARHLS]]', 2980, 'n', 0 },
{ 'NGA', '[[Agencia Nacional de Inteligencia-Geoespacial|NGA]]', 3563, 'n', 0 },
{ 'UKHO', '[[Instituto Hidrográfico del Reino Unido|UKHO]]', 3562, 'n', 0 },
{ 'MarineTraffic', '[[MarineTraffic]]', 3601, 'n', 0 },
{ 'OnlineListofLights', '[[:d:Q843152|Online List of Lights]]', 3223, 'n', 0 },
},
},
{
title = 'Patrimonio histórico',
group = {
{ 'World Heritage Site', '[[Patrimonio de la Humanidad]]', 757, 'n', 'Centro del Patrimonio Mundial' },
{ 'CNMLBH', '[[Comisión Nacional de Monumentos, de Lugares y de Bienes Históricos|CNMLBH]]', 4587, 'n', 'cnmlbh' },
{ 'IGESPAR', '[[Instituto de Gestão do Património Arquitetónico e Arqueológico|IGESPAR]]', 1702, 'n', 1 },
{ 'SIPA', '[[Sistema de Informação para o Património Arquitetónico|SIPA]]', 1700, 'n', 1 },
{ 'Infopatrimonio', '[[:d:Q64745161|Infopatrimônio]]', 4372, 'n', 'Infopatrimônio' },
{ 'AustriaObjektID', 'Austria ObjektID', 2951, 'n', 'Austria ObjektID' },
{ 'FBBID', '[[Fredede og Bevaringsværdige Bygninger|FBB]]', 2783, 'n', 'FBB' },
{ 'Fornminnesregistret', '[[Fornminnesregistret|FMIS]]', 1260, 'n', 'FMIS' },
{ 'BerlinerKulturdenkmal', 'Berliner Kulturdenkmal', 2424, 'n', 'Berliner Kulturdenkmal' },
{ 'NHLE', '[[National Heritage List for England|NHLE]]', 1216, 'n', 1 },
{ 'NRHP', '[[Registro Nacional de Lugares Históricos|NRHP]]', 649, 'n', 1 },
{ 'KULTURMINNE', '[[Riksantikvaren|Kulturminne]]', 758, 'n', 'Kulturminne' },
{ 'CRHP', '[[:d:Q3456275|CRHP]]', 477, 'n', 1 },
{ 'MERIMEE', '[[Base Mérimée|Mérimée]]', 380, 'n', 'Mérimée' },
{ 'CADW', '[[Cadw]]', 1459, 'n', 'Cadw' },
{ 'Památkový Katalog', '[[Památkový katalog]]', 762, 'n', 'Památkový katalog' },
{ 'PatrimonioIran', 'Patrimonio Nacional de Irán', 1369, 'n', 'Patrimonio Nacional de Irán' },
{ 'Rijksmonument', 'Rijksmonument', 359, 'n', 'Rijksmonument' },
{ 'BIC', '[[Bien de Interés Cultural (España)|BIC]]', 808, 'n', 1 },
{ 'BCIN', '[[Bien Cultural de Interés Nacional|BCIN]]', 1586, 'n', 1 },
{ 'IPAC', '[[Inventario del Patrimonio Arquitectónico de Cataluña|IPAC]]', 1600, 'n', 1 },
{ 'IGPCV', '[[Inventario General del Patrimonio Cultural Valenciano|IGPCV]]', 2473, 'n', 1 },
{ 'IAPH', '[[Instituto Andaluz del Patrimonio Histórico|IAPH]]', 8425, 'n', 0 },
{ 'BDI-IAPH', '[[Instituto Andaluz del Patrimonio Histórico|Patrimonio Inmueble de Andalucía]]', 3318, 'n', 1 },
{ 'SIPCA', '[[SIPCA]]', 3580, 'n', 1 },
{ 'PWJCYL', '[[Junta de Castilla y León|Patrimonio Web JCyL]]', 3177, 'n', 'Patrimonio Web JCyL' },
{ 'CPCCLM', '[[Catálogo de Patrimonio Cultural de Castilla-La Mancha]]', 6539, 'n', 1 },
{ 'HispaniaNostra', '[[Lista roja de patrimonio en peligro|Lista Roja Hispania Nostra]]', 4868, 'url', 'Lista Roja Hispania Nostra' },
{ 'HGC', '[[Heritage Gazetteer for Cyprus]]', 6916, 'n', 1 },
{ 'HGL', '[[Heritage Gazetteer of Libya]]', 6751, 'n', 1 },
},
},
{
title = 'Deportistas',
group = {
{ 'COI', '[[Comité Olímpico Internacional|COI]]', 5815, 'n', 0 },
{ 'World Athletics', '[[World Athletics]]', 1146, 'n', 0 },
{ 'European Athletics', '[[Atletismo Europeo]]', 3766, 'n', 0 },
{ 'Liga Diamante', '[[Liga de Diamante]]', 3923, 'n', 0 },
{ 'ITU', '[[Unión Internacional de Triatlón|ITU]]', 3604, 'n', 0 },
{ 'ATP', '[[Asociación de Tenistas Profesionales|ATP]]', 536, 'n', 0 },
{ 'Copa Davis', '[[Copa Davis]]', 2641, 'n', 0 },
{ 'WTA', '[[Asociación de Tenis Femenino|WTA]]', 597, 'n', 0 },
{ 'Fed Cup', '[[Copa Billie Jean King|Fed Cup]]', 2642, 'n', 0 },
{ 'ITF', '[[Federación Internacional de Tenis|ITF]]', 599, 'n', 0 },
{ 'ITHF', '[[Salón de la Fama del Tenis Internacional|ITHF]]', 3363, 'n', 0 },
{ 'ITTF', '[[Federación Internacional de Tenis de Mesa|ITTF]]', 1364, 'n', 0 },
{ 'FIFA', '[[FIFA]]', 1469, 'n', 0 },
{ 'UEFA', '[[UEFA]]', 2276, 'n', 0 },
{ 'Soccerway', '[[Soccerway]]', 2369, 'n', 0 },
{ 'Transfermarkt', '[[Transfermarkt]]', 2446, 'n', 0 },
{ 'FootballDatabase', '[[FootballDatabase]]', 3537, 'n', 0 },
{ 'BDFutbol', '[[BDFutbol]]', 3655, 'n', 0 },
{ 'EPCR', '[[European Professional Club Rugby|EPCR]]', 3666, 'n', 0 },
{ 'FIDE', '[[Federación Internacional de Ajedrez|FIDE]]', 1440, 'n', 0 },
{ 'BoxRec', '[[BoxRec]]', 1967, 'n', 0 },
{ 'Sherdog', '[[Sherdog]]', 2818, 'n', 0 },
{ 'WWE', '[[WWE]]', 2857, 'n', 0 },
{ 'NSK', '[[Asociación Japonesa de Sumo|NSK]]', 3385, 'n', 0 },
{ 'IJF', '[[Federación Internacional de Yudo|IJF]]', 4559, 'n', 0 },
{ 'FINA', '[[Federación Internacional de Natación|FINA]]', 3408, 'n', 0 },
{ 'ISHOF', '[[International Swimming Hall of Fame|ISHOF]]', 3691, 'n', 0 },
{ 'NFL', '[[National Football League|NFL]]', 3539, 'n', 0 },
{ 'NHL', '[[National Hockey League|NHL]]', 3522, 'n', 0 },
{ 'FIH', '[[Federación Internacional de Hockey|FIH]]', 3742, 'n', 0 },
{ 'MLB', '[[Grandes Ligas de Béisbol|MLB]]', 3541, 'n', 0 },
{ 'FIL', '[[Federación Internacional de Luge|FIL]]', 2990, 'n', 0 },
{ 'IBSF', '[[Federación Internacional de Bobsleigh y Skeleton|IBSF]]', 2991, 'n', 0 },
{ 'WAF', '[[Federación Internacional de Tiro con Arco|WAF]]', 3010, 'n', 0 },
{ 'FEI', '[[Federación Ecuestre Internacional|FEI]]', 3111, 'n', 0 },
{ 'FIE', '[[Federación Internacional de Esgrima|FIE]]', 2423, 'n', 0 },
{ 'CEE', '[[Confederación Europea de Esgrima|CEE]]', 4475, 'n', 0 },
{ 'IBU', '[[Unión Internacional de Biatlón|IBU]]', 2459, 'n', 0 },
{ 'ISU', '[[Unión Internacional de Patinaje sobre Hielo|ISU]]', 2694, 'n', 0 },
{ 'FIG', '[[Federación Internacional de Gimnasia|FIG]]', 2696, 'n', 0 },
{ 'UIPM', '[[Unión Internacional de Pentatlón Moderno|UIPM]]', 2726, 'n', 0 },
{ 'BWF', '[[Federación Mundial de Bádminton|BWF]]', 2729, 'n', 0 },
{ 'WCF', '[[Federación Mundial de Curling|WCF]]', 3557, 'n', 0 },
{ 'EHF', '[[Federación Europea de Balonmano|EHF]]', 3573, 'n', 0 },
{ 'IWF', '[[Federación Internacional de Halterofilia|IWF]]', 3667, 'n', 0 },
{ 'IOF', '[[Federación Internacional de Orientación|IOF]]', 3672, 'n', 0 },
{ 'ISSF', '[[Federación Internacional de Tiro Deportivo|ISSF]]', 2730, 'n', 0 },
{ 'FIVB', '[[Federación Internacional de Voleibol|FIVB]]', 2801, 'n', 0 },
{ 'CEV', '[[Confederación Europea de Voleibol|CEV]]', 3725, 'n', 0 },
{ 'ICF', '[[Federación Internacional de Piragüismo|ICF]]', 3689, 'n', 0 },
{ 'FISA', '[[Federación Internacional de Sociedades de Remo|FISA]]', 2091, 'n', 0 },
{ 'IFSC', '[[Federación Internacional de Escalada Deportiva|IFSC]]', 3690, 'n', 0 },
{ 'NLL', '[[National Lacrosse League|NLL]]', 3955, 'n', 0 },
{ 'PGA', '[[Professional Golfers Association of America|PGA]]', 2811, 'n', 0 },
{ 'LPGA', '[[LPGA]]', 2810, 'n', 0 },
{ 'FIBA', '[[Federación Internacional de Baloncesto|FIBA]]', 3542, 'n', 0 },
{ 'Euroliga', '[[Euroliga]]', 3536, 'n', 0 },
{ 'WNBA', '[[WNBA]]', 3588, 'n', 0 },
{ 'NBA', '[[NBA]]', 3647, 'n', 0 },
{ 'ACB', '[[Asociación de Clubs de Baloncesto|ACB]]', 3525, 'n', 0 },
{ 'Entr. ACB', '[[Asociación de Clubs de Baloncesto|Entrenador ACB]]', 6297, 'n', 0 },
{ 'snooker.org', 'snooker.org', 4502, 'n', 0 },
{ 'snooker.org tournament', 'snooker.org', 4921, 'n', 0 },
{ 'WST', 'WST', 4498, 'n', 0 },
{ 'CueTracker', 'CueTracker', 4924, 'n', 0 },
},
},
{
title = 'Cine',
group = {
{ 'FilmAffinity', '[[FilmAffinity]]', 480, 'n', 0 },
{ 'IMDb', '[[Internet Movie Database|IMDb]]', 345, 'n', 0 },
{ 'Óscar', '[[Premios Óscar|Óscar]]', 6145, 'n', 0 },
{ 'AFI', '[[AFI Catalog of Feature Films|AFI]]', 3593, 'n', 0 },
{ 'Allcinema', '[[Allcinema]]', 2465, 'n', 0 },
{ 'AllMovie', '[[AllMovie]]', 1562, 'n', 0 },
{ 'AlloCiné', '[[AlloCiné]]', 1265, 'n', 0 },
{ 'BFI', '[[British Film Institute|BFI]]', 2703, 'n', 0 },
{ 'Box Office Mojo', '[[Box Office Mojo]]', 1237, 'n', 0 },
{ 'ICAA película', '[[Instituto de la Cinematografía y de las Artes Audiovisuales|ICAA]]', 5128, 'n', 1 },
},
},
{
title = 'Empresarios',
group = {
{ 'Bloomberg', '[[Bloomberg L.P.|Bloomberg]]', 3052, 'n', 0 },
{ 'Crunchbase', '[[Crunchbase]]', 2087, 'n', 0 },
},
},
{
title = 'Identificadores fiscales',
group = {
{ 'IRS', '[[Servicio de Impuestos Internos de los Estados Unidos|IRS]]', 1297, noLink, 0 },
{ 'VAT', '[[Número de Identificación Fiscal a efectos del IVA (NIF-IVA)|VAT]]', 3608, noLink, 0 },
{ 'UID', 'UID', 4829, 'n', 0 },
},
},
{
title = 'Informática',
group = {
{ 'TOP500', 'TOP500', 7307, 'n', 0 },
{ 'Arch', 'Arch Linux', 3454, 'n', 0 },
{ 'AUR', 'AUR', 4162, 'n', 0 },
{ 'Debian', 'Debian', 3442, 'n', 0 },
{ 'Fedora', 'Fedora', 3463, 'n', 0 },
{ 'FSD', 'Free Software Directory', 2537, 'n', 0 },
{ 'Gentoo', 'Gentoo', 3499, 'n', 0 },
{ 'OpenHub', '[[Open Hub]]', 1972, 'n', 0 },
{ 'PyPI', '[[PyPI]]', 5568, 'n', 0 },
{ 'Snap', 'Snap', 4435, 'n', 0 },
{ 'Ubuntu', 'Ubuntu', 3473, 'n', 0 },
}
},
{
title = 'Bases de datos taxonómicas',
group = {
{ 'Algabase', '[[AlgaeBase]]', 1348, 'n', 0 },
{ 'ADW', '[[Animal Diversity Web|ADW]]', 4024, 'n', 0 },
{ 'AmphibiaWeb', '[[AmphibiaWeb]]', 5036, 'n', 0 },
{ 'BOLD', 'BOLD', 3606, 'n', 0 },
{ 'APD', '[[African Plant DB]]', 2036, 'n', 0 },
{ 'Avibase', '[[Avibase]]', 2026, 'n', 0 },
{ 'BHL', '[[Biodiversity Heritage Library|BHL]]', 687, 'n', 0 },
{ 'BioLib', '[[BioLib]]', 838, 'n', 0 },
{ 'BirdLife', '[[BirdLife International|BirdLife]]', 5257, 'n', 0 },
{ 'CatalogueOfLife', '[[Catalogue of Life]]', 3088, 'n', 0 },
{ 'CONABIO', '[[Comisión Nacional para el Conocimiento y Uso de la Biodiversidad|CONABIO]]', 4902, 'n', 0 },
{ 'Dyntaxa', '[[Dyntaxa]]', 1939, 'n', 0 },
{ 'eBird', '[[eBird]]', 3444, 'n', 0 },
{ 'EOL', '[[Enciclopedia de la vida|EOL]]', 830, 'n', 0 },
{ 'EUNIS', '[[European Nature Information System|EUNIS]]', 6177, 'n', 0 },
{ 'FaunaEuropaea', '[[Fauna Europaea]]', 1895, 'n', 0 },
{ 'FishBase', '[[FishBase]]', 938, 'n', 0 },
{ 'FloraBase', '[[FloraBase]]', 3101, 'n', 0 },
{ 'FOC', '[[Flora of China|Fl. China]]', 1747, 'n', 0 },
{ 'GBIF', '[[Global Biodiversity Information Facility|GBIF]]', 846, 'n', 0 },
{ 'GlobalSpecies', 'GlobalSpecies', 6433, 'n', 0 },
{ 'GRIN', '[[Germplasm Resources Information Network|GRIN]]', 1421, 'url', 0 },
{ 'IBC', [[Internet Bird Collection|IBC]], 3099, 'n', 0 },
{ 'iNaturalist', [[iNaturalist]], 3151, 'n', 0 },
{ 'IndexFungorum', '[[Index Fungorum]]', 1391, 'n', 0 },
{ 'IOBIS', 'OBIS', 6754, 'n', 0 },
{ 'IPNI', '[[Índice Internacional de Nombres de las Plantas|IPNI]]', 961, 'n', 0 },
{ 'ITIS', '[[Sistema Integrado de Información Taxonómica|ITIS]]', 815, 'n', 0 },
{ 'LPSN', '[[Listado de nombres procariotas con posición en nomenclatura|LPSN]]', 1991, 'url', 0 },
{ 'MSW', '[[Mammal Species of the World|MSW]]', 959, 'n', 0 },
{ 'MycoBank', '[[MycoBank]]', 962, 'n', 0 },
{ 'NCBI', '[[Centro Nacional para la Información Biotecnológica|NCBI]]', 685, 'n', 0 },
{ 'FossilWorks', '[[Paleobiology Database]]', 842, 'n', 0 },
{ 'PlantList', '[[The Plant List|PlantList]]', 1070, 'n', 0 },
{ 'SpeciesPlus', 'Species+', 2040, 'n', 0 },
{ 'Taxonomicon', 'Taxonomicon', 7066, 'n', 0 },
{ 'Tropicos', '[[W3TROPICOS]]', 960, 'n', 0 },
{ 'UICN', '[[Unión Internacional para la Conservación de la Naturaleza|UICN]]', 627, 'n', 0 },
{ 'USDAP', '[[Departamento de Agricultura de los Estados Unidos|USDA Plants]]', 1772, 'n', 0 },
{ 'VASCAN', 'VASCAN', 1745, 'n', 0 },
{ 'WoRMS', '[[Registro Mundial de Especies Marinas|WoRMS]]', 850, 'n', 0 },
{ 'uBio', 'uBio', 4728, 'n', 0 },
{ 'Xeno-canto', '[[Xeno-canto]]', 2426, 'n', 0 },
{ 'Zoobank', '[[Zoobank]]', 1746, 'n', 0 },
},
},
{
title = 'Identificadores médicos',
group = {
{ 'DOID', 'DOID', 699, 'n', 0 },
{ 'CIE11', '[[CIE-11]]', 7329, icd11Link, 0},
{ 'CIE10', '[[CIE-10]]', 494, 'n', 0 },
{ 'CIE9', '[[CIE-9]]', 493, 'n', 0 },
{ 'CIE10MC', 'CIE-10-MC', 4229, 'n', 0 },
{ 'CIE9MC', '[[CIE-9-MC]]', 1692, 'n', 0 },
{ 'CIEO', '[[CIE-O]]', 563, 'n', 0 },
{ 'CIAP2', '[[Clasificación Internacional de Atención Primaria|CIAP-2]]', 667, 'n', 0 },
{ 'OMIM', '[[Herencia Mendeliana en el Hombre|OMIM]]', 492, 'n', 0 },
{ 'DSM IV', '[[Manual diagnóstico y estadístico de los trastornos mentales|DSM IV]]', 663, 'n', 0 },
{ 'DSM 5', '[[DSM 5|DSM-5]]', 1930, 'n', 0 },
{ 'DiseasesDB', '[[Diseases Database|DiseasesDB]]', 557, 'n', 0 },
{ 'MedlinePlus', '[[MedlinePlus]]', 604, 'n', 0 },
{ 'eMedicine', '[[eMedicine]]', 673, 'n', 0 },
{ 'MeSH', '[[Medical Subject Headings|MeSH]]', 486, 'n', 0 },
{ 'MeSHdq', 'MeSH D/Q', 9340, 'y', 0 },
{ 'DeCS', '[[Descriptores en Ciencias de la Salud|DeCS]]', 9272, 'n', 0 },
{ 'Orphanet', '[[Orphanet]]', 1550, 'n', 0 },
{ 'TA98', '[[Terminología Anatómica|TA]]', 1323, 'n', 1 },
{ 'FMA', '[[Foundational Model of Anatomy|FMA]]', 1402, 'n', 0 },
{ 'UMLS', 'UMLS', 2892, 'n', 0 },
{ 'GeneReviews', 'GeneReviews', 668, 'n', 0 },
{ 'NumE', '[[Número E]]', 628, 'n', 0 },
}
},
{
title = 'Identificadores químicos',
group = {
{ 'CAS', '[[Número CAS]]', 231, 'n', 0 },
{ 'EINECS', '[[EINECS|Números EINECS]]', 232, 'n', 0},
{ 'ATC', '[[Código ATC]]', 267, 'n', 0 },
{ 'RTECS', '[[RTECS]]', 657, 'n', 0 },
{ 'ChEBI', '[[ChEBI]]', 683, 'n', 0 },
{ 'ChEMBL', '[[ChEMBL]]', 592, 'n', 0 },
{ 'ChemSpider', '[[ChemSpider]]', 661, 'n', 0 },
{ 'DrugBank', '[[DrugBank]]', 715, 'n', 0 },
{ 'PubChem', '[[PubChem]]', 662, 'n', 0 },
{ 'UNII', '[[Unique Ingredient Identifier|UNII]]', 652, 'n', 0 },
{ 'KEGG', '[[KEGG]]', 665, 'n', 0 },
{ 'SMILES', '[[SMILES]]', 233, 'y', 0 },
{ 'InChI', '[[International Chemical Identifier|InChI]]', 234, 'y', 0 },
{ 'InChIKey', 'InChI key', 235, 'y', 0 },
}
},
{
title = 'Identificadores biológicos',
group = {
{ 'MGI', '[[Mouse Genome Informatics|MGI]]', 231, 'n', 0 },
{ 'HomoloGene', '[[HomoloGene]]', 593, 'n', 0 },
{ 'UniProt', '[[UniProt]]', 352, 'n', 0 },
}
},
{
title = 'Identificadores astronómicos',
group = {
{ 'COSPAR', 'COSPAR', 247, 'n', 0 },
{ 'SCN', '[[Satellite Catalog Number|SCN]]', 377, 'n', 0 },
{ 'NSSDCA', '[[International Designator|NSSDCA]]', 8913, 'n', 0 }
}
},
{
title = 'Ontologías',
group = {
{ 'IEV', 'Número IEV', 8855, 'n', 0 },
{ 'OUM2', 'OUM 2.0', 8769, 'n', 0 }
}
}
}
-- -- Example row: --
-- conf.databases[2] = {}
-- conf.databases[2].name = 'External links'
-- conf.databases[2].list = {
-- {
-- title = '',
-- group = {
-- { 'Website', 'Website', 856, 'n', 0 },
-- },
-- },
-- }
--In this order: alternate name, name of parameter from databases table
conf.aliases = {
{ 'Wd', 'Wikidata' },
{ 'PND', 'GND' },
{ 'Commonscat', 'Commons' },
}
local function getCatForId( parameter, category )
local title = mw.title.getCurrentTitle()
local namespace = title.namespace
if category == 0 then
return ''
elseif category == 1 then
category = parameter
end
if namespace == 0 then
return '[[Categoría:Wikipedia:Artículos con identificadores ' .. category .. ']]\n'
elseif namespace == 2 and not title.isSubpage then
return '[[Categoría:Wikipedia:Páginas de usuario con identificadores ' .. category .. ']]\n'
else
return '[[Categoría:Wikipedia:Páginas misceláneas con identificadores ' .. category .. ']]\n'
end
end
function getIdsFromSitelinks( itemId, property )
local ids = {}
local siteLink = itemId and mw.wikibase.getSitelink( itemId, property )
if siteLink then
table.insert( ids, siteLink )
end
return ids
end
function getIdsFromWikidata( itemId, property )
local ids = {}
local declaraciones = mw.wikibase.getBestStatements(itemId, property)
for _, statement in pairs( declaraciones) do
if statement.mainsnak.datavalue then
table.insert( ids, statement.mainsnak.datavalue.value )
end
end
return ids
end
function getLink( property, val, mask )
local link = ''
if mw.ustring.find( val, '//' ) then
link = val
else
if type(property) == 'number' then
local entityObject = mw.wikibase.getEntityObject('P'..property)
local dataType = entityObject.datatype
if dataType == 'external-id' then
local allStatements = entityObject:getBestStatements('P1630')
if allStatements then
for pos = 1, #allStatements, 1 do
local q = allStatements[pos].qualifiers
if q and q.P407 and q.P407[1].datavalue and q.P407[1].datavalue.value.id == 'Q1321' then
link = allStatements[pos].mainsnak.datavalue.value
end
end
end
if link == '' then
local formatterURL = entityObject:getBestStatements('P1630')[1]
if formatterURL then
link = formatterURL.mainsnak.datavalue.value
else
local formatterURL = entityObject:getBestStatements('P3303')[1]
if formatterURL then link = formatterURL.mainsnak.datavalue.value end
end
end
elseif dataType == 'url' then
local subjectItem = entityObject:getBestStatements('P1629')[1]
if subjectItem then
local officialWebsite = mw.wikibase.getBestStatements(subjectItem.mainsnak.datavalue.value.id, 'P856')[1]
if officialWebsite then
link = officialWebsite.mainsnak.datavalue.value
end
end
elseif dataType == 'string' then
local formatterURL = entityObject:getBestStatements('P1630')[1]
if formatterURL then
link = formatterURL.mainsnak.datavalue.value
else
local formatterURL = entityObject:getBestStatements('P3303')[1]
if formatterURL then
link = formatterURL.mainsnak.datavalue.value
else
local subjectItem = entityObject:getBestStatements('P1629')[1]
if subjectItem then
local officialWebsite = mw.wikibase.getBestStatements(subjectItem.mainsnak.datavalue.value.id,'P856')[1]
if officialWebsite then
link = officialWebsite.mainsnak.datavalue.value
end
end
end
end
end
elseif type(property) == 'string' then
link = property
end
end
link = mw.ustring.gsub(link, '^[Hh][Tt][Tt][Pp]([Ss]?)://', 'http%1://') -- fix wikidata URL
if type(mask) == 'function' then
return mask( val, link, property )
end
link = mw.ustring.gsub(link, '$1', mw.ustring.gsub( mw.ustring.gsub( val, '%%', '%%%%' ), ' ', '%%%%20' ) or val )
if mw.ustring.find( link, '//' ) then
if type(mask) == 'string' then
link = cleanLink( link, 'PATH' )
if mask == 'y' then
return '['..link..' ID]'
elseif mask == 'n' then
return '['..link..' '..val..']'
end
return '['..link..' '..mask..']'
end
elseif link == '' then
return val
else
return '[['..link..'|'..val..']]'
end
end
local function createRow( id, label, rawValue, link, withUid )
if link then
if label and label ~= '' then label = '<span style="white-space:nowrap;">'..label .. ':</span> ' end
if withUid then
return '* ' .. label .. '<span class="uid">' .. link .. '</span>\n'
else
return '* ' .. label .. link .. '\n'
end
else
return '* <span class="error">El ' .. id .. ' id ' .. rawValue .. ' no es válido</span>[[Categoría:Wikipedia:Páginas con problemas en el control de autoridades]]\n'
end
end
local function copyTable(inTable)
if type(inTable) ~= 'table' then return inTable end
local outTable = setmetatable({}, getmetatable(inTable))
for key, value in pairs (inTable) do outTable[copyTable(key)] = copyTable(value) end
return outTable
end
local function splitLccn( id )
if id:match( '^%l%l?%l?%d%d%d%d%d%d%d%d%d?%d?$' ) then
id = id:gsub( '^(%l+)(%d+)(%d%d%d%d%d%d)$', '%1/%2/%3' )
end
if id:match( '^%l%l?%l?/%d%d%d?%d?/%d+$' ) then
return mw.text.split( id, '/' )
end
return false
end
local p = {}
function p.authorityControl( frame )
local pArgs = frame:getParent().args
local parentArgs = copyTable(pArgs)
local stringArgs = false
local fromForCount, itemCount, rowCount = 1, 0, 0
local mobileContent = ''
--Cleanup args
for k, v in pairs( pArgs ) do
if type(k) == 'string' then
--make args case insensitive
local lowerk = mw.ustring.lower(k)
if not parentArgs[lowerk] or parentArgs[lowerk] == '' then
parentArgs[lowerk] = v
parentArgs[k] = nil
end
--remap abc to abc1
if not mw.ustring.find(lowerk, '%d$') then --if no number at end of param
if not parentArgs[lowerk..'1'] or parentArgs[lowerk..'1'] == '' then
parentArgs[lowerk..'1'] = v
parentArgs[lowerk] = nil
end
end
if v and v ~= '' then
--find highest from param
if mw.ustring.sub(lowerk,1,4) == 'from' then
local fromNumber = tonumber(mw.ustring.sub(lowerk,5,-1))
if fromNumber and fromNumber >= fromForCount then fromForCount = fromNumber end
elseif mw.ustring.sub(lowerk,1,3) == 'for' then
local forNumber = tonumber(mw.ustring.sub(lowerk,4,-1))
if forNumber and forNumber >= fromForCount then fromForCount = forNumber end
elseif mw.ustring.lower(v) ~= 'no' and lowerk ~= 'for' then
stringArgs = true
end
end
end
end
--Setup navbox
local navboxParams = {
name = 'Control de autoridades',
bodyclass = 'hlist',
groupstyle = 'width: 12%; text-align:center;',
}
for f = 1, fromForCount, 1 do
local title = {}
--cleanup parameters
if parentArgs['from'..f] == '' then parentArgs['from'..f] = nil end
if parentArgs['for'..f] == '' then parentArgs['for'..f] = nil end
--remap aliases
for _, a in pairs( conf.aliases ) do
local alias, name = mw.ustring.lower(a[1]), mw.ustring.lower(a[2])
if parentArgs[alias..f] and not parentArgs[name..f] then
parentArgs[name..f] = parentArgs[alias..f]
parentArgs[alias..f] = nil
end
end
--Fetch Wikidata item
local itemId = parentArgs['from'..f] or mw.wikibase.getEntityIdForCurrentPage()
local label = itemId and (mw.wikibase.getSitelink(itemId) or mw.wikibase.getLabel(itemId)) or ''
if label and label ~= '' then
title = mw.title.new(label)
if not title then title = mw.title.getCurrentTitle() end
else
title = mw.title.getCurrentTitle()
end
if (not parentArgs['wikidata'..f] or parentArgs['wikidata'..f] == '') and (title.namespace == 0 or title.namespace == 104) then
parentArgs['wikidata'..f] = parentArgs['from'..f] or itemId or ''
end
if title.namespace == 0 or title.namespace == 104 or stringArgs then --Only in the main namespaces or if there are manual overrides
if fromForCount > 1 and #conf.databases > 1 then
if parentArgs['for'..f] and parentArgs['for'..f] ~= '' then
navboxParams['list'..(rowCount + 1)] = "'''" .. parentArgs['for'..f] .. "'''"
else
navboxParams['list'..(rowCount + 1)] = "'''" .. title.text .. "'''"
end
navboxParams['list'..(rowCount + 1)..'style'] = 'background-color: #ddf;'
rowCount = rowCount + 1
end
for _, db in pairs( conf.databases ) do
if db.list and #db.list > 0 then
local listElements = {}
for n, gr in pairs( db.list ) do
local groupElements = {}
if gr.group and #gr.group > 0 then
for _, params in pairs( gr.group ) do
local id = mw.ustring.lower( params[1] )
-- Wikidata fallback if requested
if itemId and params[3] ~= 0 and (not parentArgs[id..f] or parentArgs[id..f] == '') then
local wikidataIds = {}
if type( params[3] ) == 'function' then
wikidataIds = params[3]( itemId )
elseif type( params[3] ) == 'string' then
wikidataIds = getIdsFromSitelinks(itemId, params[3] )
else
wikidataIds = getIdsFromWikidata( itemId, 'P' .. params[3] )
end
if wikidataIds[1] then
parentArgs[id..f] = wikidataIds[1]
end
end
-- Worldcat
if id == 'issn' and parentArgs['worldcatid'..f] and parentArgs['worldcatid'..f] ~= '' then -- 'issn' is the first element following the 'wikidata' item
table.insert( groupElements, createRow( id, '', parentArgs['worldcatid'..f], '[//www.worldcat.org/identities/' .. parentArgs['worldcatid'..f] .. ' WorldCat]', false ) ) --Validation?
elseif id == 'viaf' and parentArgs[id..f] and string.match( parentArgs[id..f], '^%d+$' ) and not parentArgs['worldcatid'..f] then -- Hackishly copy the validation code; this should go away when we move to using P1793 and P1630
table.insert( groupElements, createRow( id, '', parentArgs[id..f], '[//www.worldcat.org/identities/viaf-' .. parentArgs[id..f] .. ' WorldCat]', false ) )
elseif id == 'lccn' and parentArgs[id..f] and parentArgs[id..f] ~= '' and not parentArgs['viaf'..f] and not parentArgs['worldcatid'..f] then
local lccnParts = splitLccn( parentArgs[id..f] )
if lccnParts and lccnParts[1] ~= 'sh' then
table.insert( groupElements, createRow( id, '', parentArgs[id..f], '[//www.worldcat.org/identities/lccn-' .. lccnParts[1] .. lccnParts[2] .. '-' .. lccnParts[3] .. ' WorldCat]', false ) )
end
end
local val = parentArgs[id..f]
if val and val ~= '' and mw.ustring.lower(val) ~= 'no' and params[3] ~= 0 then
local link
if type( params[3] ) == 'function' then
link = val
else
link = getLink( params[3], val, params[4] )
end
if link and link ~= '' then
table.insert( groupElements, createRow( id, params[2], val, link, true ) .. getCatForId( params[1], params[5] or 0 ) )
itemCount = itemCount + 1
end
end
end
if #groupElements > 0 then
if gr.title and gr.title ~= '' then
table.insert( listElements, "* '''"..gr.title.."'''\n" )
end
table.insert( listElements, table.concat( groupElements ) )
if n == 1 and #groupElements > 1 then
table.insert( listElements, "\n----\n" )
end
-- mobile version
if n == 1 then
mobileContent = table.concat( groupElements )
end
end
end
end
-- Generate navbox title
if #listElements > 0 then
if fromForCount > 1 and #conf.databases == 1 then
if parentArgs['for'..f] and parentArgs['for'..f] ~= '' then
navboxParams['group'..(rowCount + 1)] = "''" .. parentArgs['for'..f] .. "''"
else
navboxParams['group'..(rowCount + 1)] = "''" .. title.text .. "''"
end
else
navboxParams['group'..(rowCount + 1)] = db.name or ''
end
navboxParams['list'..(rowCount + 1)] = table.concat( listElements )
rowCount = rowCount + 1
end
end
end
end
end
if rowCount > 0 then
local Navbox = require('Módulo:Navbox')
if fromForCount > 1 then
--add missing names
for r = 1, rowCount, 1 do
if navboxParams['group'..r] == '' then
navboxParams['group'..r] = "''" .. mw.wikibase.getEntity(parentArgs['wikidata'..r]):getLabel().."''"
end
end
if fromForCount > 2 then
navboxParams['navbar'] = 'plain'
else
navboxParams['state'] = 'off'
navboxParams['navbar'] = 'off'
end
end
local mainCategories = ''
if stringArgs then
mainCategories = mainCategories .. '[[Categoría:Wikipedia:Páginas que utilizan control de autoridades con parámetros]]\n'
end
if itemCount > 13 then
if itemCount > 30 then
itemCount = 'más de 30'
end
mainCategories = mainCategories .. '[[Categoría:Wikipedia:Control de autoridades con ' .. itemCount .. ' elementos]]\n'
end
navboxParams['style'] = 'width: inherit';
return frame:extensionTag{ name = 'templatestyles', args = { src = 'Plantilla:Control de autoridades/styles.css' } }
.. tostring(
mw.html.create( 'div' )
:addClass( 'mw-authority-control' )
:wikitext( Navbox._navbox( navboxParams ) )
:done()
:tag('div')
:addClass( 'mw-mf-linked-projects' )
:addClass( 'hlist' )
:newline()
:wikitext( mobileContent )
:done()
:done()
)
.. mainCategories
else
return ''
end
end
return p
0cd9d75bd89698e1c3eee30767a6b47407d3232c
Módulo:No globals
828
59
117
116
2024-01-02T19:49:45Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local mt = getmetatable(_G) or {}
function mt.__index (t, k)
if k ~= 'arg' then
error('Trató de leer nil global ' .. tostring(k), 2)
end
return nil
end
function mt.__newindex(t, k, v)
if k ~= 'arg' then
--error('Trató de escribir global ' .. tostring(k), 2)
end
rawset(t, k, v)
end
setmetatable(_G, mt)
3cb2d81d4ad299d3f4a8bf909f5ab862b5f2a70c
Módulo:Navbox
828
60
119
118
2024-01-02T19:49:45Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
--
-- This module implements {{Navbox}}
--
local p = {}
local navbar = require('Module:Navbar')._navbar
local getArgs -- lazily initialized
local args
local tableRowAdded = false
local border
local listnums = {}
local function trim(s)
return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1"))
end
local function addNewline(s)
if s:match('^[*:;#]') or s:match('^{|') then
return '\n' .. s ..'\n'
else
return s
end
end
local function addTableRow(tbl)
-- If any other rows have already been added, then we add a 2px gutter row.
if tableRowAdded then
tbl
:tag('tr')
:css('height', '2px')
:tag('td')
:attr('colspan',2)
end
tableRowAdded = true
return tbl:tag('tr')
end
local function renderNavBar(titleCell)
-- Depending on the presence of the navbar and/or show/hide link, we may need to add a spacer div on the left
-- or right to keep the title centered.
local spacerSide = nil
if args.navbar == 'off' then
-- No navbar, and client wants no spacer, i.e. wants the title to be shifted to the left. If there's
-- also no show/hide link, then we need a spacer on the right to achieve the left shift.
if args.state == 'plain' then spacerSide = 'right' end
elseif args.navbar == 'plain' or (not args.name and mw.getCurrentFrame():getParent():getTitle():gsub('/sandbox$', '') == 'Template:Navbox') then
-- No navbar. Need a spacer on the left to balance out the width of the show/hide link.
if args.state ~= 'plain' then spacerSide = 'left' end
else
-- Will render navbar (or error message). If there's no show/hide link, need a spacer on the right
-- to balance out the width of the navbar.
if args.state == 'plain' then spacerSide = 'right' end
titleCell:wikitext(navbar{
args.name,
mini = 1,
fontstyle = (args.basestyle or '') .. ';' .. (args.titlestyle or '') .. ';background:none transparent;border:none;'
})
end
-- Render the spacer div.
if spacerSide then
titleCell
:tag('span')
:css('float', spacerSide)
:css('width', '6em')
:wikitext(' ')
end
end
--
-- Title row
--
local function renderTitleRow(tbl)
if not args.title then return end
local titleRow = addTableRow(tbl)
if args.titlegroup then
titleRow
:tag('th')
:attr('scope', 'row')
:addClass('navbox-group')
:addClass(args.titlegroupclass)
:cssText(args.basestyle)
:cssText(args.groupstyle)
:cssText(args.titlegroupstyle)
:wikitext(args.titlegroup)
end
local titleCell = titleRow:tag('th'):attr('scope', 'col')
if args.titlegroup then
titleCell
:css('border-left', '2px solid #fdfdfd')
:css('width', '100%')
end
local titleColspan = 2
if args.imageleft then titleColspan = titleColspan + 1 end
if args.image then titleColspan = titleColspan + 1 end
if args.titlegroup then titleColspan = titleColspan - 1 end
titleCell
:cssText(args.basestyle)
:cssText(args.titlestyle)
:addClass('navbox-title')
:attr('colspan', titleColspan)
renderNavBar(titleCell)
titleCell
:tag('div')
:attr('id', mw.uri.anchorEncode(args.title))
:addClass(args.titleclass)
:css('font-size', '114%')
:wikitext(addNewline(args.title))
end
--
-- Above/Below rows
--
local function getAboveBelowColspan()
local ret = 2
if args.imageleft then ret = ret + 1 end
if args.image then ret = ret + 1 end
return ret
end
local function renderAboveRow(tbl)
if not args.above then return end
addTableRow(tbl)
:tag('td')
:addClass('navbox-abovebelow')
:addClass(args.aboveclass)
:cssText(args.basestyle)
:cssText(args.abovestyle)
:attr('colspan', getAboveBelowColspan())
:tag('div')
:wikitext(addNewline(args.above))
end
local function renderBelowRow(tbl)
if not args.below then return end
addTableRow(tbl)
:tag('td')
:addClass('navbox-abovebelow')
:addClass(args.belowclass)
:cssText(args.basestyle)
:cssText(args.belowstyle)
:attr('colspan', getAboveBelowColspan())
:tag('div')
:wikitext(addNewline(args.below))
end
--
-- List rows
--
local function renderListRow(tbl, listnum)
local row = addTableRow(tbl)
if listnum == 1 and args.imageleft then
row
:tag('td')
:addClass('navbox-image')
:addClass(args.imageclass)
:css('width', '0%')
:css('padding', '0px 2px 0px 0px')
:cssText(args.imageleftstyle)
:attr('rowspan', 2 * #listnums - 1)
:tag('div')
:wikitext(addNewline(args.imageleft))
end
if args['group' .. listnum] then
local groupCell = row:tag('th')
groupCell
:attr('scope', 'row')
:addClass('navbox-group')
:addClass(args.groupclass)
:cssText(args.basestyle)
if args.groupwidth then
groupCell:css('width', args.groupwidth)
end
groupCell
:cssText(args.groupstyle)
:cssText(args['group' .. listnum .. 'style'])
:wikitext(args['group' .. listnum])
end
local listCell = row:tag('td')
if args['group' .. listnum] then
listCell
:css('text-align', 'left')
:css('border-left-width', '2px')
:css('border-left-style', 'solid')
else
listCell:attr('colspan', 2)
end
if not args.groupwidth then
listCell:css('width', '100%')
end
local isOdd = (listnum % 2) == 1
local rowstyle = args.evenstyle
if isOdd then rowstyle = args.oddstyle end
local evenOdd
if args.evenodd == 'swap' then
if isOdd then evenOdd = 'even' else evenOdd = 'odd' end
else
if isOdd then evenOdd = args.evenodd or 'odd' else evenOdd = args.evenodd or 'even' end
end
listCell
:css('padding', '0px')
:cssText(args.liststyle)
:cssText(rowstyle)
:cssText(args['list' .. listnum .. 'style'])
:addClass('navbox-list')
:addClass('navbox-' .. evenOdd)
:addClass(args.listclass)
:tag('div')
:css('padding', (listnum == 1 and args.list1padding) or args.listpadding or '0em 0.25em')
:wikitext(addNewline(args['list' .. listnum]))
if listnum == 1 and args.image then
row
:tag('td')
:addClass('navbox-image')
:addClass(args.imageclass)
:css('width', '0%')
:css('padding', '0px 0px 0px 2px')
:cssText(args.imagestyle)
:attr('rowspan', 2 * #listnums - 1)
:tag('div')
:wikitext(addNewline(args.image))
end
end
--
-- Tracking categories
--
local function needsHorizontalLists()
if border == 'child' or border == 'subgroup' or args.tracking == 'no' then return false end
local listClasses = {'plainlist', 'hlist', 'hlist hnum', 'hlist hwrap', 'hlist vcard', 'vcard hlist', 'hlist vevent'}
for i, cls in ipairs(listClasses) do
if args.listclass == cls or args.bodyclass == cls then
return false
end
end
return true
end
local function hasBackgroundColors()
return mw.ustring.match(args.titlestyle or '','background') or mw.ustring.match(args.groupstyle or '','background') or mw.ustring.match(args.basestyle or '','background')
end
local function isIllegible()
local styleratio = require('Module:Color contrast')._styleratio
for key, style in pairs(args) do
if tostring(key):match("style$") then
if styleratio{mw.text.unstripNoWiki(style)} < 4.5 then
return true
end
end
end
return false
end
local function getTrackingCategories()
local cats = {}
if needsHorizontalLists() then table.insert(cats, 'Wikipedia:Plantillas de navegación sin listas horizontales') end
if hasBackgroundColors() then table.insert(cats, 'Wikipedia:Plantillas de navegación con colores de fondo') end
if isIllegible() then table.insert(cats, 'Wikipedia:Plantillas de navegación potencialmente ilegibles') end
return cats
end
local function renderTrackingCategories(builder)
local title = mw.title.getCurrentTitle()
if title.namespace ~= 10 then return end -- not in template space
if title.namespace ~= 14 then return end -- en Wikipedia en español usamos mucho esta plantilla en las categorías y genera errores por culpa de este parámetro
local subpage = title.subpageText
if subpage == 'doc' or subpage == 'sandbox' or subpage == 'testcases' then return end
for i, cat in ipairs(getTrackingCategories()) do
builder:wikitext('[[Category:' .. cat .. ']]')
end
end
--
-- Main navbox tables
--
local function renderMainTable()
local tbl = mw.html.create('table')
:addClass(args.bodyclass)
if args.title and (args.state ~= 'plain' and args.state ~= 'off') then
tbl
:addClass('collapsible')
:addClass(args.state or 'autocollapse')
end
tbl:css('border-spacing', 0)
if border == 'subgroup' or border == 'child' or border == 'none' then
tbl
:addClass('navbox-subgroup')
:cssText(args.bodystyle)
:cssText(args.style)
else -- regular navobx - bodystyle and style will be applied to the wrapper table
tbl
:addClass('navbox-inner')
:css('background', 'transparent')
:css('color', 'inherit')
end
tbl:cssText(args.innerstyle)
renderTitleRow(tbl)
renderAboveRow(tbl)
for i, listnum in ipairs(listnums) do
renderListRow(tbl, listnum)
end
renderBelowRow(tbl)
return tbl
end
function p._navbox(navboxArgs)
args = navboxArgs
for k, v in pairs(args) do
local listnum = ('' .. k):match('^list(%d+)$')
if listnum then table.insert(listnums, tonumber(listnum)) end
end
table.sort(listnums)
border = trim(args.border or args[1] or '')
-- render the main body of the navbox
local tbl = renderMainTable()
-- render the appropriate wrapper around the navbox, depending on the border param
local res = mw.html.create()
if border == 'none' then
local nav = res:tag('div')
:attr('role', 'navigation')
:node(tbl)
if args.title then
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title))
else
nav:attr('aria-label', 'Navbox')
end
elseif border == 'subgroup' or border == 'child' then
-- We assume that this navbox is being rendered in a list cell of a parent navbox, and is
-- therefore inside a div with padding:0em 0.25em. We start with a </div> to avoid the
-- padding being applied, and at the end add a <div> to balance out the parent's </div>
res
:wikitext('</div>') -- XXX: hack due to lack of unclosed support in mw.html.
:node(tbl)
:wikitext('<div>') -- XXX: hack due to lack of unclosed support in mw.html.
else
local nav = res:tag('div')
:attr('role', 'navigation')
:addClass('navbox')
:cssText(args.bodystyle)
:cssText(args.style)
:css('padding', '3px')
:node(tbl)
if args.title then
nav:attr('aria-labelledby', mw.uri.anchorEncode(args.title))
else
nav:attr('aria-label', 'Navbox')
end
end
renderTrackingCategories(res)
return tostring(res)
end
function p.navbox(frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
args = getArgs(frame, {wrappers = 'Template:Navbox'})
-- Read the arguments in the order they'll be output in, to make references number in the right order.
local _
_ = args.title
_ = args.above
for i = 1, 20 do
_ = args["group" .. tostring(i)]
_ = args["list" .. tostring(i)]
end
_ = args.below
return p._navbox(args)
end
return p
e31d45fcca619ea5f21f57cae01ac0501c7eb4ea
Módulo:Navbar
828
61
121
120
2024-01-02T19:49:46Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local p = {}
local cfg = mw.loadData('Módulo:Navbar/configuración')
local function get_title_arg(is_collapsible, template)
local title_arg = 1
if is_collapsible then title_arg = 2 end
if template then title_arg = 'template' end
return title_arg
end
local function choose_links(template, args)
-- The show table indicates the default displayed items.
-- view, talk, edit, hist, move, watch
-- TODO: Move to configuration.
local show = {true, true, true, false, false, false}
if template then
show[2] = false
show[3] = false
local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6,
talk = 2, edit = 3, hist = 4, move = 5, watch = 6}
-- TODO: Consider removing TableTools dependency.
for _, v in ipairs(require ('Module:TableTools').compressSparseArray(args)) do
local num = index[v]
if num then show[num] = true end
end
end
local remove_edit_link = args.noedit
if remove_edit_link then show[3] = false end
return show
end
local function add_link(link_description, ul, is_mini, font_style)
local l
if link_description.url then
l = {'[', '', ']'}
else
l = {'[[', '|', ']]'}
end
ul:tag('li')
:addClass('nv-' .. link_description.full)
:wikitext(l[1] .. link_description.link .. l[2])
:tag(is_mini and 'abbr' or 'span')
:attr('title', link_description.html_title)
:cssText(font_style)
:wikitext(is_mini and link_description.mini or link_description.full)
:done()
:wikitext(l[3])
:done()
end
local function make_list(title_text, has_brackets, displayed_links, is_mini, font_style)
local title = mw.title.new(mw.text.trim(title_text), cfg.title_namespace)
if not title then
-- error(cfg.invalid_title .. title_text) -- diferente a en la Wikipedia inglesa
return
end
local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''
-- TODO: Get link_descriptions and show into the configuration module.
-- link_descriptions should be easier...
local link_descriptions = {
{ ['mini'] = 'v', ['full'] = 'ver', ['html_title'] = 'Ver esta plantilla',
['link'] = title.fullText, ['url'] = false },
{ ['mini'] = 't', ['full'] = 'discusión', ['html_title'] = 'Conversar sobre esta plantilla',
['link'] = talkpage, ['url'] = false },
{ ['mini'] = 'e', ['full'] = 'editar', ['html_title'] = 'Editar esta plantilla',
['link'] = title:fullUrl('action=edit'), ['url'] = true },
{ ['mini'] = 'h', ['full'] = 'historial', ['html_title'] = 'Historial de esta plantilla',
['link'] = title:fullUrl('action=history'), ['url'] = true },
{ ['mini'] = 'm', ['full'] = 'trasladar', ['html_title'] = 'Trasladar esta plantilla',
['link'] = mw.title.new('Special:Movepage'):fullUrl('target='..title.fullText), ['url'] = true },
{ ['mini'] = 'w', ['full'] = 'vigilar', ['html_title'] = 'Vigilar esta plantiilla',
['link'] = title:fullUrl('action=watch'), ['url'] = true }
}
local ul = mw.html.create('ul')
if has_brackets then
ul:addClass(cfg.classes.brackets)
:cssText(font_style)
end
for i, _ in ipairs(displayed_links) do
if displayed_links[i] then add_link(link_descriptions[i], ul, is_mini, font_style) end
end
return ul:done()
end
function p._navbar(args)
-- TODO: We probably don't need both fontstyle and fontcolor...
local font_style = args.fontstyle
local font_color = args.fontcolor
local is_collapsible = args.collapsible
local is_mini = args.mini
local is_plain = args.plain
local collapsible_class = nil
if is_collapsible then
collapsible_class = cfg.classes.collapsible
if not is_plain then is_mini = 1 end
if font_color then
font_style = (font_style or '') .. '; color: ' .. font_color .. ';'
end
end
local navbar_style = args.style
local div = mw.html.create():tag('div')
div
:addClass(cfg.classes.navbar)
:addClass(cfg.classes.plainlinks)
:addClass(cfg.classes.horizontal_list)
:addClass(collapsible_class) -- we made the determination earlier
:cssText(navbar_style)
if is_mini then div:addClass(cfg.classes.mini) end
local box_text = (args.text or cfg.box_text) .. ' '
-- the concatenated space guarantees the box text is separated
if not (is_mini or is_plain) then
div
:tag('span')
:addClass(cfg.classes.box_text)
:cssText(font_style)
:wikitext(box_text)
end
local template = args.template
local displayed_links = choose_links(template, args)
local has_brackets = args.brackets
local title_arg = get_title_arg(is_collapsible, template)
local title_text = args[title_arg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
local list = make_list(title_text, has_brackets, displayed_links, is_mini, font_style)
div:node(list)
if is_collapsible then
local title_text_class
if is_mini then
title_text_class = cfg.classes.collapsible_title_mini
else
title_text_class = cfg.classes.collapsible_title_full
end
div:done()
:tag('div')
:addClass(title_text_class)
:cssText(font_style)
:wikitext(args[1])
end
return mw.getCurrentFrame():extensionTag{
name = 'templatestyles', args = { src = cfg.templatestyles }
} .. tostring(div:done())
end
function p.navbar(frame)
return p._navbar(require('Módulo:Arguments').getArgs(frame))
end
return p
85180ce6a927dafd6602fc8df1ff372b2ad34a68
Módulo:Navbar/configuración
828
62
123
122
2024-01-02T19:49:46Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
local configuration = {
['templatestyles'] = 'Module:Navbar/styles.css',
['box_text'] = 'Esta plantilla: ', -- default text box when not plain or mini
['title_namespace'] = 'Template', -- namespace to default to for title
['invalid_title'] = 'Invalid title ',
['classes'] = { -- set a line to nil if you don't want it
['navbar'] = 'navbar',
['plainlinks'] = 'plainlinks', -- plainlinks
['horizontal_list'] = 'hlist', -- horizontal list class
['mini'] = 'navbar-mini', -- class indicating small links in the navbar
['this_box'] = 'navbar-boxtext',
['brackets'] = 'navbar-brackets',
-- 'collapsible' is the key for a class to indicate the navbar is
-- setting up the collapsible element in addition to the normal
-- navbar.
['collapsible'] = 'navbar-collapse',
['collapsible_title_mini'] = 'navbar-ct-mini',
['collapsible_title_full'] = 'navbar-ct-full'
}
}
return configuration
cab0c84a2f90a71d11170bb5aa32c54160df3345
Plantilla:Wayback
10
63
125
124
2024-01-02T19:49:47Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#if: {{{nobullet|}}}||}}{{#if:{{{título|{{{titulo|{{{title|}}}}}}}}} <!--If there is a title:-->|[https://web.archive.org/web/{{{3|{{{fecha|{{{date|*}}}}}}}}}/{{{1|{{{site|{{{url}}}}}}}}} {{{2|{{{título|{{{titulo|{{{title|Copia de archivo}}}}}}}}}}}}] en [[Wayback Machine]] {{#if:{{{3|{{{fecha|{{{date|}}}}}}}}}|{{#iferror: (archivado el {{#time:j \d\e F \d\e Y|{{{3|{{{fecha|{{{date|}}}}}}}}} }})}}|<!-- date= empty -->}}|{{#if: {{{3|{{{fecha|{{{date|}}}}}}}}}|[https://web.archive.org/web/{{{3|{{{fecha|{{{date|}}}}}}}}}/{{{1|{{{site|{{{url}}}}}}}}} Archivado] el {{#time:j \d\e F \d\e Y|{{{3|{{{fecha|{{{date|}}}}}}}}}}} en [[Wayback Machine]]|[https://web.archive.org/web/{{{3|{{{fecha|{{{date|}}}}}}}}}/{{{1|{{{site|{{{url}}}}}}}}} {{{2|{{{title|{{{title|Copia de archivo}}}}}}}}}] en [[Wayback Machine]]{{#if:{{{3|{{{fecha|{{{date|}}}}}}}}}|{{#iferror: (archivada el {{#time:j \d\e F \d\e Y|{{{3|{{{fecha|{{{date|}}}}}}}}} }})}}|<!-- date= empty -->}}}}}}.</includeonly><noinclude>{{documentación}}</noinclude>
5b09c70f6d480d954743471db16983e50f9a6d13
Plantilla:En idioma
10
64
127
126
2024-01-02T19:49:47Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<span style="color:#555;">{{#if: {{{1|}}}
| (en {{{2|{{#iferror: {{Obtener idioma|{{{1}}}}} | {{{1}}} | {{Obtener idioma|{{{1}}}}} }}}}})
| <span style="font-size:90%;" class="error">Especifica al menos un idioma.</span>
}}</span><noinclude>
{{documentación}}
</noinclude>
cca774ea59d09506c2f96c62ccb0fcbfb6222d02
Plantilla:Listaref
10
65
129
128
2024-01-02T19:49:47Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<div class="listaref" style="<!--
-->{{#if: {{{ancho|{{{colwidth|}}}}}}
| -moz-column-width: {{{ancho{{{colwidth|}}}}}}; -webkit-column-width: {{{ancho{{{colwidth|}}}}}}; column-width: {{{ancho{{{colwidth|}}}}}};
| {{#if: {{{1|}}}
| -moz-column-count:{{{1}}}; -webkit-column-count:{{{1}}}; column-count:{{{1}}};
}}
}} list-style-type: <!--
-->{{{estilolista|{{{liststyle|{{#switch: {{{grupo|{{{group|}}}}}}
| upper-alpha
| upper-roman
| lower-alpha
| lower-greek
| lower-roman = {{{grupo|{{{group}}}}}}
| #default = decimal}}}}}}}};">{{#tag:references|{{{refs|}}}|group={{{grupo|{{{group|}}}}}}}}</div><noinclude>{{documentación}}</noinclude>
9605b8ca2604e39a33b81b6b8a8ff297e6988b71
Plantilla:Bandera
10
66
131
130
2024-01-02T19:49:48Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{Geodatos {{{1|<noinclude>?</noinclude>}}}
| {{#switch:{{{desc|}}}|no=bandera icono-nodesc|#default=bandera icono}}
| variante = {{{variante|{{{2|}}}}}}
| tamaño = {{{tamaño|}}}
}}<noinclude>{{documentación}}</noinclude>
55628036d27174d1be1b5a63ac0d2d3cf11f427c
Plantilla:Bandera icono
10
67
133
132
2024-01-02T19:49:48Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<span class="flagicon">[[Archivo:{{#if:{{{variante|}}}|{{{bandera alias-{{{variante}}}}}}|{{{bandera alias}}}}}|{{#if:{{{tamaño|}}}|{{{tamaño}}}|20x20px}}|{{#switch:{{{alias|}}}|Nepal= |Ohio= |border{{!}}}}{{{alt|Bandera de {{{alias}}}}}}]]</span><noinclude>{{documentación}}</noinclude>
da31786f0bf3e2036b4a8bf61db5cc30452143ca
Plantilla:!!
10
68
135
134
2024-01-02T19:49:48Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
||<noinclude>{{documentación}}</noinclude>
fa66abbf21844b7820eb1a28196efe21a00d2cb4
Plantilla:Geodatos Argentina
10
69
137
136
2024-01-02T19:49:49Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{{{{1<noinclude>|mostrar geodatos</noinclude>}}}
|alias=Argentina
|escudo alias=Coat of arms of Argentina.svg
|bandera alias=Flag of Argentina.svg
|bandera alias-colonia=Flag of Cross of Burgundy.svg
|bandera alias-civil =Flag of Argentina (alternative).svg
|bandera alias-alt=Flag of Argentina (alternative).svg
|enlace alias-alt=Bandera alternativa
|bandera alias-belgrano=Flag of Belgrano (1812).svg
|bandera alias-1816=Flag of Argentina (alternative).svg
|bandera alias-1818=Flag of Argentina (1818).svg
|bandera alias-confederación=Flag of the Argentine Confederation.svg
|enlace alias-confederación=Confederación Argentina
|bandera alias-presidencia=Standard of the President of Argentina Afloat.svg
|enlace alias-presidencia=Presidente de Argentina
|bandera alias-guardia costera=Bandera de Prefectura Naval Argentina.svg
|enlace alias-guardia costera=Prefectura Naval Argentina
|bandera alias-gendarmería=Flag of the Argentinian Gendarmery.png
|enlace alias-gendarmería=Gendarmería Nacional Argentina
|bandera alias-naval=Naval Jack of Argentina.svg
|enlace alias-naval=Armada Argentina
|bandera alias-fuerza aérea=Flag of Argentina.svg
|enlace alias-fuerza aérea=Fuerza Aérea Argentina
|bandera alias-ejército=Flag of Argentina.svg
|enlace alias-ejército=Ejército Argentino
|bandera alias-marines=Flag of Argentina.svg
|enlace alias-marines=Infantería de Marina
|bandera alias-aviación naval=Flag of Argentina.svg
|enlace alias-aviación naval=Aviación Naval
|bandera alias-policía federal=Policía Federal Argentina.svg
|enlace alias-policía federal=Policía Federal Argentina
|escudo alias-colonia=Old Coat of arms of Lima.svg
|escudo alias-confederación=Escudo de la Confederación Argentina.png
|tamaño={{{tamaño|}}}
|nombre={{{nombre|}}}
|civil=Bandera de Argentina
|civil escudo=Escudo de Argentina
|variante={{{variante|}}}
|civillink={{{civillink|}}}
<noinclude>
|var1=colonia
|var2=civil
|var3=1816
|var4=1818
|var5=confederación
|var6=belgrano
|var7=presidencia
|var8=gendarmería
|var9=guardia costera
|var10=ejército
|e-var1=colonia
|e-var2=confederación
|redir1=ARG
|redir2=AR
</noinclude>
}}
eb4dc5a68e38dae7d0d199588acd138278b78365
Plantilla:En
10
70
139
138
2024-01-02T19:49:49Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{en idioma|en}}<noinclude>
[[Categoría:Wikipedia:Plantillas de lenguas de país]]
</noinclude>
70e894a39af6a419f8baafd17e4f7a50a13147ad
Plantilla:Commonscat
10
71
141
140
2024-01-02T19:49:50Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
*[[Archivo:Commons-logo.svg|15px|link=|alt=]] [[Wikimedia Commons]] alberga {{{objeto|una categoría multimedia}}} {{{preposicion|{{{preposición|sobre}}}}}} '''[[Commons:Category:{{#if:{{{1|{{{nombre|}}}}}}{{#property:P373}}|{{Propiedad|P373|{{{1|{{{nombre|}}}}}}|categorías=no|enlace=no|prioridad=no|uno=sí}}|{{Título sin coletilla|{{FULLPAGENAME}}}}}}|{{#if:{{{2|{{{etiqueta|}}}}}}|{{{2|{{{etiqueta|}}}}}}|{{Título sin coletilla}}}}]]'''.<noinclude>
{{documentación}}</noinclude>
f5b5ead007a924bd0da7e3c91c0d489573bb787c
Plantilla:Título sin coletilla
10
72
143
142
2024-01-02T19:49:50Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#Invoke:String|replace|{{{1|{{PAGENAME}}}}}|%s%(.*%)||plain=false}}</includeonly><noinclude>{{Documentación}}</noinclude>
33b43a63397816c0133d416d0edef688f57ba6c7
Plantilla:Nowrap
10
73
145
144
2024-01-02T19:49:52Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly><span style="white-space:nowrap">{{{1}}}</span></includeonly><noinclude>{{documentación}}</noinclude>
1ea7a6342b622df0a4759157d53c3e743b480324
Plantilla:Barra de porcentaje
10
74
147
146
2024-01-02T19:49:52Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{| style="background-color:transparent"
| <div style="{{#ifeq:{{uc:{{{borde|}}}}}|NO||border:1px solid black;}} background-color: {{{background-color|#fff}}}; width: {{{ancho|65}}}px; height: 12px;"><div style="background-color:{{{c|#{{{hex|{{{3|DBDBDB}}}}}}}}}; width: {{#expr:floor({{{ancho|65}}}*{{formatnum:{{{1|50}}}|R}}/100)}}px; height: 12px;"></div></div>
| {{#if:{{{2|}}}|{{{2}}}|{{{1|50}}} %}}
|}<noinclude>{{Fusionar|t=20171124145248|Plantilla:Ficha de partido político/escaños}}{{documentación}}</noinclude>
17ec8ebb0cfccaacc5dd30e47c340563d9f78e87
Plantilla:Orden
10
75
149
148
2024-01-02T19:49:52Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<span style="display:none" class="sortkey">{{{1}}} !</span><span class="sorttext">{{{2|[[{{{1}}}]]}}}</span><noinclude>
{{documentación}}
</noinclude>
87ae8ff3f44e24cd60527ca84a2aca9f7a3dc672
Plantilla:Columnas
10
76
151
150
2024-01-02T19:49:53Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly><div style="overflow:auto hidden;"><!-- No quitar este DIV: evita que el wikicódigo inserte un salto de línea adicional encima de esta tabla. -->
{| width="{{{1|100%}}}" border="0" cellspacing="0" cellpadding="0" style="background-color:transparent;table-layout:fixed;"
|- valign="top"
|<div style="margin-right:{{{2|20px}}};"></includeonly><noinclude>
{{documentación}}
</noinclude>
a27164a35846823680ba69f0481c2b7f63a29d68
Plantilla:Nueva columna
10
77
153
152
2024-01-02T19:49:53Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly></div>
|<div style="margin-right: {{{1|20px}}};"></includeonly>
<noinclude>
{{documentación|Plantilla:Columnas/doc}}
</noinclude>
66f1e6cfa78c3119176dc5daf5bc8b26fbb5de81
Plantilla:Final columnas
10
78
155
154
2024-01-02T19:49:54Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly></div>
|}</div></includeonly><noinclude>
{{documentación|Plantilla:Columnas/doc}}
</noinclude>
6fedf7365f60c74007552fa031372190bc3261af
Plantilla:AP
10
79
157
156
2024-01-02T19:49:54Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<div class="noprint AP rellink"><!--
-->{{#ifeq: {{NAMESPACE}} | {{ns:14}}
| <span style="font-size:88%">{{#if: {{{2|}}} | Los artículos principales de esta categoría son | El artículo principal de esta categoría es }}: </span><!--
-->{{#ifeq: {{NAMESPACE:{{{1}}}}} | {{ns:14}} | {{#if:{{{2|}}}|| ''(<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)''}} | [[{{{1|{{PAGENAME}}}}} |{{ucfirst:{{{l1|{{{1|{{PAGENAME}}}}}}}}}}]] }}<!--
-->{{#ifeq: {{NAMESPACE:{{{2}}}}} | {{ns:14}} | | {{#if: {{{2|}}} | {{#ifeq: {{NAMESPACE:{{{1}}}}} | {{ns:14}} | | <span style="font-size:88%">{{#if:{{{3|}}}|{{#ifeq:{{NAMESPACE:{{{3}}}}}|{{ns:14}}| {{y-e|{{PAGENAME:{{{2}}}}}|sin texto}} |, }}| {{y-e|{{PAGENAME:{{{2}}}}}|sin texto}} }}</span>}}''[[{{{2}}} |{{ucfirst:{{{l2|{{{2}}}}}}}}]]'' }} }}<!--
-->{{#ifeq: {{NAMESPACE:{{{3}}}}} | {{ns:14}} | | {{#if: {{{3|}}} | <span style="font-size:88%">{{#if:{{{4|}}}|{{#ifeq:{{NAMESPACE:{{{4}}}}}|{{ns:14}}| {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} |, }}| {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} }}</span>''[[{{{3}}} | {{ucfirst:{{{l3|{{{3}}}}}}}}]]'' }} }}<!--
-->{{#ifeq: {{NAMESPACE:{{{4}}}}} | {{ns:14}} | | {{#if: {{{4|}}} | <span style="font-size:88%">{{#if:{{{5|}}}|{{#ifeq:{{NAMESPACE:{{{4}}}}}|{{ns:14}}| {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} |, }}| {{y-e|{{PAGENAME:{{{4}}}}}|sin texto}} }}</span>''[[{{{4}}} | {{ucfirst:{{{l4|{{{4}}}}}}}}]]'' }} }}<!--
-->{{#ifeq: {{NAMESPACE:{{{5}}}}} | {{ns:14}} | | {{#if: {{{5|}}} | <span style="font-size:88%"> {{y-e|{{PAGENAME:{{{5}}}}}|sin texto}}</span>''[[{{{5}}} | {{ucfirst:{{{l5|{{{5}}}}}}}}]]'' }} }}<!--
-->{{#if:{{{6|}}} | ''(<span class="error" style="font-size:90%">demasiados parámetros en {{[[Plantilla:AP|AP]]}}</span>)''
[[Categoría:Wikipedia:Plantilla AP con demasiados parámetros]]
}}.
| <span style="font-size:88%">{{#if: {{{2|}}}
| <!--
-->{{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{2|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{3|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{4|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{5|{{ns:14}}:A}}}}} | {{ns:14}}
| Categorías principales | Categorías y artículos principales
}} | Categorías y artículos principales }} | Categorías y artículos principales }} | Categorías y artículos principales }}
| {{#ifeq: {{NAMESPACE:{{{2|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{3|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{4|{{ns:14}}:A}}}}} | {{ns:14}}
| {{#ifeq: {{NAMESPACE:{{{5|{{ns:14}}:A}}}}} | {{ns:14}}
| Categorías y artículos principales | Artículos principales
}} | Artículos principales }} | Artículos principales }} | Artículos principales }}
}}:<!--
--> | {{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}} | Categoría principal | Artículo principal }}:
}}</span>  }}<!--
-->{{#ifeq: {{NAMESPACE}} | {{ns:14}} |<!-- Anula todo lo siguiente si está en el espacio Plantilla -->
| {{#ifeq: {{{1|{{PAGENAME}}}}} | {{FULLPAGENAME}} | ''(<span class="error" style="font-size:90%">especifique al menos un artículo principal</span>)''
| ''[[:{{{1|{{PAGENAME}}}}} | {{#ifeq: {{NAMESPACE:{{{1|}}}}} | {{ns:14}} | {{PAGENAME:{{{1}}}}} | {{ucfirst:{{{l1|{{{1|{{PAGENAME}}}}}}}}}} }}]]''<!--
-->{{#if: {{{2|}}} | <span style="font-size:88%">{{#if:{{{3|}}}|, | {{y-e|{{PAGENAME:{{{2}}}}}|sin texto}} }}</span>''[[:{{{2}}} | {{#ifeq: {{NAMESPACE:{{{2}}}}} | {{ns:14}} | {{PAGENAME:{{{2}}}}} | {{ucfirst:{{{l2|{{{2}}}}}}}} }}]]'' }}<!--
-->{{#if: {{{3|}}} | <span style="font-size:88%">{{#if:{{{4|}}}|, | {{y-e|{{PAGENAME:{{{3}}}}}|sin texto}} }}</span>''[[:{{{3}}} | {{#ifeq: {{NAMESPACE:{{{3}}}}} | {{ns:14}} | {{PAGENAME:{{{3}}}}} | {{ucfirst:{{{l3|{{{3}}}}}}}} }}]]'' }}<!--
-->{{#if: {{{4|}}} | <span style="font-size:88%">{{#if:{{{5|}}}|, | {{y-e|{{PAGENAME:{{{4}}}}}|sin texto}} }}</span>''[[:{{{4}}} | {{#ifeq: {{NAMESPACE:{{{4}}}}} | {{ns:14}} | {{PAGENAME:{{{4}}}}} | {{ucfirst:{{{l4|{{{4}}}}}}}} }}]]'' }}<!--
-->{{#if: {{{5|}}} | <span style="font-size:88%"> {{y-e|{{PAGENAME:{{{5}}}}}|sin texto}}</span>''[[:{{{5}}} | {{#ifeq: {{NAMESPACE:{{{5}}}}} | {{ns:14}} | {{PAGENAME:{{{5}}}}} | {{ucfirst:{{{l5|{{{5}}}}}}}} }}]]'' }}<!--
-->{{#if:{{{6|}}} |   ''(<span class="error" style="font-size:90%">demasiados parámetros en {{[[Plantilla:AP|AP]]}}</span>)''
[[Categoría:Wikipedia:Plantilla AP con demasiados parámetros]]
}}{{#if:{{{2|}}}|.}} }} }}</div><noinclude>{{documentación}}
<!-- No mover a la documentación -->
[[Categoría:Wikipedia:Excluir al imprimir]]
</noinclude>
b2cc0f9ef6ab12b875361c9f1bc6eebbd27d6c10
Plantilla:Color
10
80
159
158
2024-01-02T19:49:54Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{safesubst:#if:{{{2|}}}|<span style="color:{{safesubst:RGB|{{{1|}}}}}">{{{2}}}</span>|{{error|No se está usando la plantilla de forma adecuada.}}}}</includeonly><noinclude>
{{fusionar|t=20170814201026|plantilla:fontcolor}}
{{documentación}}
</noinclude>
a34ed0e5847dbe566024b448343919251e92b485
Plantilla:RGB
10
81
161
160
2024-01-02T19:49:55Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
{{<includeonly>safesubst:</includeonly>#switch:{{<includeonly>safesubst:</includeonly>lc:{{{1|}}}}}
|blanco = #FFFFFF
|negro = #000000
|rojo = #8B0E0E
|rojo9 = #A11A1A
|rojo8 = #B42929
|rojo7 = #C63A3A
|rojo6 = #D54E4E
|rojo5 = #E26464
|rojo4 = #EC7B7B
|rojo3 = #F49494
|rojo2 = #FAAFAF
|rojo1 = #FDDBDB
|rojo0 = #FFF4F4
|rosa = #990000
|rosa9 = #AC0C0C
|rosa8 = #BD1B1B
|rosa7 = #CD2C2C
|rosa6 = #DA4040
|rosa5 = #E55757
|rosa4 = #EE6F6F
|rosa3 = #F58A8A
|rosa2 = #FAA7A7
|rosa1 = #FDD7D7
|rosa0 = #FFF3F3
|cereza = #660014
|cereza9 = #830921
|cereza8 = #9D1630
|cereza7 = #B42742
|cereza6 = #C73B57
|cereza5 = #D8526C
|cereza4 = #E66C84
|cereza3 = #F1889C
|cereza2 = #F8A6B6
|cereza1 = #FDD7DE
|cereza0 = #FFF3F6
|fuego = #5C0B01
|fuego9 = #7A1609
|fuego8 = #962516
|fuego7 = #AF3627
|fuego6 = #C44A3B
|fuego5 = #D66152
|fuego4 = #E4796C
|fuego3 = #F09488
|fuego2 = #F8B0A7
|fuego1 = #FDDBD7
|fuego0 = #FFF5F3
|tampico = #D23A00
|tampico9 = #DA470F
|tampico8 = #E25520
|tampico7 = #E86532
|tampico6 = #EE7547
|tampico5 = #F3865C
|tampico4 = #F79874
|tampico3 = #FAAB8D
|tampico2 = #FDC0A9
|tampico1 = #FEE2D8
|tampico0 = #FFF6F3
|naranja = #F46302
|naranja9 = #F66E13
|naranja8 = #F77925
|naranja7 = #F98538
|naranja6 = #FB924C
|naranja5 = #FC9F61
|naranja4 = #FDAD77
|naranja3 = #FEBC90
|naranja2 = #FECCAB
|naranja1 = #FEE8D8
|naranja0 = #FFF8F3
|arenque = #FF5B32
|arenque9 = #FF6640
|arenque8 = #FF724F
|arenque7 = #FF7E5E
|arenque6 = #FF8B6E
|arenque5 = #FF997F
|arenque4 = #FFA791
|arenque3 = #FFB7A5
|arenque2 = #FFC8BA
|arenque1 = #FFE6E0
|arenque0 = #FFF7F5
|mandarina = #FD8813
|mandarina9 = #FD9023
|mandarina8 = #FD9934
|mandarina7 = #FEA246
|mandarina6 = #FEAB59
|mandarina5 = #FEB56C
|mandarina4 = #FEC081
|mandarina3 = #FECB97
|mandarina2 = #FED7B0
|mandarina1 = #FEEDDB
|mandarina0 = #FFF9F4
|caoba = #5C1D01
|caoba9 = #7A2C09
|caoba8 = #963E16
|caoba7 = #AF5127
|caoba6 = #C4653B
|caoba5 = #D67B52
|caoba4 = #E4916C
|caoba3 = #F0A888
|caoba2 = #F8C0A7
|caoba1 = #FDE3D7
|caoba0 = #FFF7F3
|chocolate = #331400
|chocolate9 = #592706
|chocolate8 = #7C3B11
|chocolate7 = #9B5121
|chocolate6 = #B56836
|chocolate5 = #CC7F4D
|chocolate4 = #DE9668
|chocolate3 = #ECAD85
|chocolate2 = #F6C5A5
|chocolate1 = #FCE5D7
|chocolate0 = #FFF8F3
|cacao = #5C3201
|cacao9 = #7A4609
|cacao8 = #965B16
|cacao7 = #AF7027
|cacao6 = #C4853B
|cacao5 = #D69952
|cacao4 = #E4AD6C
|cacao3 = #F0C088
|cacao2 = #F8D2A7
|cacao1 = #FDECD7
|cacao0 = #FFF9F3
|bronce = #503D00
|bronce9 = #715807
|bronce8 = #8F7114
|bronce7 = #A98925
|bronce6 = #C09F39
|bronce5 = #D3B450
|bronce4 = #E3C66A
|bronce3 = #EFD686
|bronce2 = #F8E4A5
|bronce1 = #FDF4D7
|bronce0 = #FFFCF3
|centeno = #A05001
|centeno9 = #B25F0D
|centeno8 = #C26F1C
|centeno7 = #D07F2E
|centeno6 = #DC8F42
|centeno5 = #E79F58
|centeno4 = #EFB071
|centeno3 = #F6C08B
|centeno2 = #FBD1A8
|centeno1 = #FEEBD8
|centeno0 = #FFF9F3
|amarillo = #F8B000
|amarillo9 = #F9B611
|amarillo8 = #FABC23
|amarillo7 = #FBC237
|amarillo6 = #FCC84B
|amarillo5 = #FDCF60
|amarillo4 = #FDD676
|amarillo3 = #FEDE8F
|amarillo2 = #FEE6AA
|amarillo1 = #FEF3D8
|amarillo0 = #FFFBF3
|cromo = #FFCA28
|cromo9 = #FFCD37
|cromo8 = #FFD146
|cromo7 = #FFD556
|cromo6 = #FFD967
|cromo5 = #FFDE79
|cromo4 = #FFE28C
|cromo3 = #FFE7A0
|cromo2 = #FFEDB7
|cromo1 = #FFF7DE
|cromo0 = #FFFCF5
|lirio = #FFDC0B
|lirio9 = #FFDE1C
|lirio8 = #FFE12D
|lirio7 = #FFE340
|lirio6 = #FFE653
|lirio5 = #FFE967
|lirio4 = #FFEC7D
|lirio3 = #FFEF94
|lirio2 = #FFF3AE
|lirio1 = #FFF9DA
|lirio0 = #FFFDF4
|hiel = #E3E302
|hiel9 = #E8E812
|hiel8 = #EDED23
|hiel7 = #F1F136
|hiel6 = #F4F44A
|hiel5 = #F8F85F
|hiel4 = #FAFA76
|hiel3 = #FCFC8F
|hiel2 = #FDFDAA
|hiel1 = #FEFED8
|hiel0 = #FFFFF3
|cerveza = #968B36
|cerveza9 = #A99E44
|cerveza8 = #BBAF54
|cerveza7 = #CBBF65
|cerveza6 = #D9CD77
|cerveza5 = #E4DA89
|cerveza4 = #EEE49C
|cerveza3 = #F5EDB0
|cerveza2 = #FAF4C5
|cerveza1 = #FDFBE5
|cerveza0 = #FFFEF7
|kaki = #7A8E24
|kaki9 = #8EA332
|kaki8 = #A0B641
|kaki7 = #B1C753
|kaki6 = #C1D665
|kaki5 = #CEE279
|kaki4 = #DBEC8E
|kaki3 = #E5F4A4
|kaki2 = #EEFABC
|kaki1 = #F8FDE1
|kaki0 = #FDFFF6
|oliva = #467128
|oliva9 = #5A8B37
|oliva8 = #6EA449
|oliva7 = #82B95B
|oliva6 = #95CB6F
|oliva5 = #A7DB83
|oliva4 = #B9E898
|oliva3 = #C9F2AD
|oliva2 = #D9F9C3
|oliva1 = #EEFDE4
|oliva0 = #FAFFF7
|bosque = #27570D
|bosque9 = #397618
|bosque8 = #4D9327
|bosque7 = #62AC39
|bosque6 = #77C24E
|bosque5 = #8CD564
|bosque4 = #A1E47C
|bosque3 = #B6EF96
|bosque2 = #CAF8B2
|bosque1 = #E8FDDC
|bosque0 = #F8FFF5
|verde = #007100
|verde9 = #098B09
|verde8 = #17A417
|verde7 = #28B928
|verde6 = #3CCB3C
|verde5 = #53DB53
|verde4 = #6CE86C
|verde3 = #88F288
|verde2 = #A6F9A6
|verde1 = #D7FDD7
|verde0 = #F3FFF3
|pasto = #20AB18
|pasto9 = #2DBA25
|pasto8 = #3DC934
|pasto7 = #4DD546
|pasto6 = #60E058
|pasto5 = #74EA6D
|pasto4 = #89F183
|pasto3 = #9FF79A
|pasto2 = #B7FBB3
|pasto1 = #DFFEDD
|pasto0 = #F5FFF5
|loro = #53E800
|loro9 = #5FEC10
|loro8 = #6CF022
|loro7 = #79F335
|loro6 = #87F649
|loro5 = #96F95E
|loro4 = #A5FB75
|loro3 = #B6FC8E
|loro2 = #C8FEAA
|loro1 = #E6FED8
|loro0 = #F7FFF3
|kiwi = #60CC24
|kiwi9 = #6CD532
|kiwi8 = #79DE41
|kiwi7 = #86E651
|kiwi6 = #94EC63
|kiwi5 = #A2F276
|kiwi4 = #B1F68A
|kiwi3 = #C0FAA0
|kiwi2 = #D0FCB7
|kiwi1 = #EAFEDE
|kiwi0 = #F8FFF5
|lima = #99E64D
|lima9 = #A1EA59
|lima8 = #AAEF66
|lima7 = #B3F274
|lima6 = #BCF682
|lima5 = #C5F891
|lima4 = #CEFBA1
|lima3 = #D7FCB2
|lima2 = #E1FEC5
|lima1 = #F1FEE5
|lima0 = #FBFFF7
|manzana = #76CC76
|manzana9 = #81D581
|manzana8 = #8DDE8D
|manzana7 = #99E699
|manzana6 = #A6ECA6
|manzana5 = #B2F2B2
|manzana4 = #BEF6BE
|manzana3 = #CBFACB
|manzana2 = #D8FCD8
|manzana1 = #EDFEED
|manzana0 = #F9FFF9
|liquen = #287153
|liquen9 = #378B69
|liquen8 = #49A47E
|liquen7 = #5BB992
|liquen6 = #6FCBA5
|liquen5 = #83DBB7
|liquen4 = #98E8C7
|liquen3 = #ADF2D5
|liquen2 = #C3F9E3
|liquen1 = #E4FDF3
|liquen0 = #F7FFFB
|turquesa = #27AD77
|turquesa9 = #34BC85
|turquesa8 = #44CA94
|turquesa7 = #54D6A2
|turquesa6 = #66E1AF
|turquesa5 = #79EABD
|turquesa4 = #8EF1C9
|turquesa3 = #A3F7D5
|turquesa2 = #BAFBE1
|turquesa1 = #E0FEF2
|turquesa0 = #F6FFFB
|cian = #00C9AB
|cian9 = #0ED3B5
|cian8 = #1FDCC0
|cian7 = #31E4C9
|cian6 = #46EBD2
|cian5 = #5BF1DB
|cian4 = #73F6E2
|cian3 = #8DFAE9
|cian2 = #A9FCF0
|cian1 = #D8FEF8
|cian0 = #F3FFFD
|mar = #0A7294
|mar9 = #1684A8
|mar8 = #2595BA
|mar7 = #36A6CA
|mar6 = #4AB5D8
|mar5 = #60C3E4
|mar4 = #77D0ED
|mar3 = #91DCF5
|mar2 = #ADE7FA
|mar1 = #DAF5FD
|mar0 = #F4FCFF
|cobalto = #001051
|cobalto9 = #081C72
|cobalto8 = #142C8F
|cobalto7 = #253FA9
|cobalto6 = #3953C0
|cobalto5 = #506AD3
|cobalto4 = #6A82E3
|cobalto3 = #869BEF
|cobalto2 = #A5B6F8
|cobalto1 = #D7DEFD
|cobalto0 = #F3F6FF
|noche = #101625
|noche9 = #25304E
|noche8 = #3B4B73
|noche7 = #526594
|noche6 = #697EB0
|noche5 = #8195C8
|noche4 = #99ACDC
|noche3 = #B0C1EB
|noche2 = #C7D4F6
|noche1 = #E6EDFC
|noche0 = #F8FAFF
|añil = #1E1B43
|añil9 = #312D66
|añil8 = #464186
|añil7 = #5C56A2
|añil6 = #726CBB
|añil5 = #8882D0
|añil4 = #9E99E0
|añil3 = #B4AFEE
|añil2 = #C9C5F7
|añil1 = #E7E6FD
|añil0 = #F8F7FF
|enlace = #180099
|enlace9 = #250CAC
|enlace8 = #341BBD
|enlace7 = #452CCD
|enlace6 = #5940DA
|enlace5 = #6D57E5
|enlace4 = #836FEE
|enlace3 = #9B8AF5
|enlace2 = #B4A7FA
|enlace1 = #DDD7FD
|enlace0 = #F5F3FF
|azul = #0C389E
|azul9 = #1846B0
|azul8 = #2856C0
|azul7 = #3966CF
|azul6 = #4D78DC
|azul5 = #628AE6
|azul4 = #799DEF
|azul3 = #92B0F6
|azul2 = #AEC5FB
|azul1 = #DAE5FE
|azul0 = #F4F7FF
|rey = #0013C9
|rey9 = #0E21D3
|rey8 = #1F31DC
|rey7 = #3142E4
|rey6 = #4655EB
|rey5 = #5B6AF1
|rey4 = #737FF6
|rey3 = #8D97FA
|rey2 = #A9B1FC
|rey1 = #D8DBFE
|rey0 = #F3F4FF
|agua = #2964D1
|agua9 = #3770D9
|agua8 = #467CE1
|agua7 = #5689E8
|agua6 = #6797EE
|agua5 = #7AA4F3
|agua4 = #8DB2F7
|agua3 = #A2C1FA
|agua2 = #B9D1FD
|agua1 = #DFEAFE
|agua0 = #F5F9FF
|celeste = #5797D7
|celeste9 = #63A0DE
|celeste8 = #70AAE5
|celeste7 = #7DB4EB
|celeste6 = #8BBEF0
|celeste5 = #9AC7F5
|celeste4 = #A9D1F8
|celeste3 = #B9DAFB
|celeste2 = #CAE4FD
|celeste1 = #E7F3FE
|celeste0 = #F7FBFF
|violeta = #39124B
|violeta9 = #54206D
|violeta8 = #6F308B
|violeta7 = #8743A6
|violeta6 = #9E58BE
|violeta5 = #B26ED2
|violeta4 = #C586E2
|violeta3 = #D59FEE
|violeta2 = #E3B9F7
|violeta1 = #F4E0FD
|violeta0 = #FCF6FF
|uva = #622989
|uva9 = #75379F
|uva8 = #8747B3
|uva7 = #9959C5
|uva6 = #A96BD4
|uva5 = #B97FE1
|uva4 = #C893EC
|uva3 = #D5A9F4
|uva2 = #E2BFFA
|uva1 = #F2E2FD
|uva0 = #FBF6FF
|lavanda = #9F56B1
|lavanda9 = #AD64BF
|lavanda8 = #BB72CD
|lavanda7 = #C781D8
|lavanda6 = #D290E2
|lavanda5 = #DCA0EB
|lavanda4 = #E5AFF2
|lavanda3 = #ECBFF7
|lavanda2 = #F3D0FB
|lavanda1 = #FAEAFE
|lavanda0 = #FDF8FF
|glicina = #B0568A
|glicina9 = #BF6498
|glicina8 = #CC72A6
|glicina7 = #D881B3
|glicina6 = #E290C0
|glicina5 = #EBA0CB
|glicina4 = #F2AFD6
|glicina3 = #F7BFE0
|glicina2 = #FBD0E9
|glicina1 = #FEEAF5
|glicina0 = #FFF8FC
|dulce = #D10466
|dulce9 = #D91372
|dulce8 = #E1237E
|dulce7 = #E8368B
|dulce6 = #EE4A98
|dulce5 = #F35FA6
|dulce4 = #F776B4
|dulce3 = #FA8FC2
|dulce2 = #FDAAD2
|dulce1 = #FED9EA
|dulce0 = #FFF4F9
|ciruela = #83274D
|ciruela9 = #9A355F
|ciruela8 = #AF4571
|ciruela7 = #C25783
|ciruela6 = #D26A95
|ciruela5 = #E07EA6
|ciruela4 = #EB93B7
|ciruela3 = #F3A8C7
|ciruela2 = #FABFD7
|ciruela1 = #FDE2ED
|ciruela0 = #FFF6FA
|fucsia = #F4024B
|fucsia9 = #F61357
|fucsia8 = #F72564
|fucsia7 = #F93872
|fucsia6 = #FB4C80
|fucsia5 = #FC6190
|fucsia4 = #FD77A0
|fucsia3 = #FE90B1
|fucsia2 = #FEABC4
|fucsia1 = #FED8E4
|fucsia0 = #FFF3F7
|fresa = #C11541
|fresa9 = #CC234E
|fresa8 = #D7325C
|fresa7 = #E0446C
|fresa6 = #E8567C
|fresa5 = #EF6B8D
|fresa4 = #F5809E
|fresa3 = #F998B1
|fresa2 = #FCB1C4
|fresa1 = #FEDCE5
|fresa0 = #FFF4F7
|nube = #3F587C
|nube9 = #506C94
|nube8 = #6280AB
|nube7 = #7593BE
|nube6 = #87A5CF
|nube5 = #9AB6DE
|nube4 = #ACC5EA
|nube3 = #BED3F3
|nube2 = #D0E1F9
|nube1 = #EAF2FD
|nube0 = #F9FBFF
|cemento = #161B1D
|cemento9 = #374347
|cemento8 = #57676E
|cemento7 = #748890
|cemento6 = #8FA5AD
|cemento5 = #A8BDC6
|cemento4 = #BDD2DA
|cemento3 = #D0E3EA
|cemento2 = #E1EFF5
|cemento1 = #F2F9FC
|cemento0 = #FBFEFF
|gris = #302E2F
|gris9 = #575355
|gris8 = #7A7578
|gris7 = #999496
|gris6 = #B4AEB1
|gris5 = #CBC5C8
|gris4 = #DDD7DA
|gris3 = #ECE6E9
|gris2 = #F6F1F4
|gris1 = #FCFAFB
|gris0 = #FFFDFE
|#default = {{{1|#D0D0D0}}}
}}<noinclude>
{{Documentación}}
</noinclude>
b8252826330253067aa0be8cb05ed7b2523e6834
Plantilla:Ficha de elección
10
82
163
162
2024-01-02T19:49:55Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#switch:{{{encurso|}}}|sí=[[Categoría:Elecciones futuras en {{{país}}}]]|#default=}}<!--
-->{{#if:{{{candidato1|}}}{{{partido1|}}}{{{candidato2|}}}{{{partido2|}}}||}}<!-- Para que si hay referencias estén ordenadas -->
{| class="infobox_v2 {{#if:{{{fecha_elección|}}}|vevent}}" style="width:22em; font-size:90%; width:{{#expr:{{{ancho|45}}}*{{#if:{{{candidato3|}}}{{{partido3|}}}|4|3}}}}px;"
{{!}} colspan="12" style="text-align:center;vertical-align:baseline" {{!}} {{#if:{{{elección_anterior|}}}|← [[{{{elección_anterior|}}}{{!}}{{{fecha_anterior|}}}]] • | }}{{bandera|{{{país|}}}|{{{variante|}}}|tamaño=50px}}{{#if:{{{siguiente_elección|}}}| • [[{{{siguiente_elección|}}}{{!}}{{{siguiente_fecha|}}}]] →| }}
|-
| colspan="12" style="text-align:center; font-size:140%;" |<b class="summary">{{{nombre_elección|{{PAGENAME}}}}}</b>{{#if:{{{endisputa|}}}|<br /><small>{{{endisputa}}}</small>|}}
|-
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
{{!}}<div style="width:{{#expr:{{{ancho|45}}}/{{#if:{{{candidato3|}}}{{{partido3|}}}|3|4}} round 0}}px; height:1px;"></div>
|-
{{#if:{{{fecha_elección|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Fecha'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{fecha_elección}}}|}}
|-
{{#if:{{{tipo|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Tipo'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{tipo}}}|}}
|-
{{#if:{{{lugar|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Lugar'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{lugar}}}|}}
|-
{{#if:{{{endisputa2|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Cargos a elegir'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{endisputa2}}}|}}
|-
{{#if:{{{total_candidatos|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Candidatos'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{total_candidatos}}}|}}
|-
{{#if:{{{período|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Período'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{período}}}|}}
|-
{{#if:{{{campaña|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Duración de campaña'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{campaña}}}|}}
|-
{{#if:{{{debate|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Debate (s)'''
{{!}} colspan="6" style="text-align:left;" {{!}} {{{debate}}}|}}
|-
{{#if:{{{registrados|}}}{{{votantes|}}}{{{válidos|}}}{{{nulos|}}}{{{blancos|}}}{{{habitantes|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''Demografía electoral'''|}}
|-
{{#if:{{{habitantes|}}}|{{!}} colspan="5" style="text-align:left;" {{!}} '''Población'''
{{!}} colspan="7" style="text-align:right;" {{!}} {{formatnum:{{{habitantes}}}}}|}}
|-
{{#if:{{{registrados|}}}|{{!}} colspan="6" style="text-align:left;" {{!}} '''Hab. registrados'''
{{!}} colspan="6" style="text-align:right;" {{!}} {{formatnum:{{{registrados}}}}}|}}
|-
{{#if:{{{votantes|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} '''Votantes{{#if:{{{votantes2|}}}| 1.ª vuelta|}}'''
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} {{formatnum:{{{votantes}}}}}|}}
|-
{{#if:{{{participación|}}}|{{!}} colspan="12" style="text-align:left; width:50%" {{!}} <small>Participación</small> |}}
|-
{{#if:{{{participación|}}}|{{!}}-
{{!}} colspan="7" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{#if:{{{color_participación|}}}|{{{color_participación|}}}|{{#ifexpr:{{{participación|1}}}>60|green|{{#ifexpr:{{{participación|1}}}>40|orange|red}}}}}};width:{{#expr:{{{participación|0}}} round 0}}%;">  </div>
{{!}} colspan="5" style="text-align:right; width:25%;"{{!}}{{{participación|0}}} %{{#if:{{{participación_ant|}}}|<small> {{#ifexpr:{{{participación|1}}}>{{{participación_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{participación|1}}}<{{{participación_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}}{{#if:{{{participación_ant|}}}| {{#expr:{{#ifexpr:{{{participación|1}}}>{{{participación_ant|0}}}|({{{participación|1}}}-{{{participación_ant|1}}})|({{{participación_ant}}}-{{{participación}}})}} round 1}} %</small>|}}{{{participación_ref|}}}|}}
|-
{{#if:{{{válidos|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos válidos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{válidos}}}}}</small>|}}
|-
{{#if:{{{blancos|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos en blanco</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{blancos}}}}}</small>|}}
|-
{{#if:{{{nulos|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos nulos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{nulos}}}}}</small>|}}
|-
{{#if:{{{sin_marcar|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Tarjetas no marcadas</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{sin_marcar}}}}}</small>|}}
{{!}}-
{{#if:{{{votantes2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} '''Votantes [[Segunda vuelta electoral|2.ª vuelta]]'''
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} {{formatnum:{{{votantes2}}}}}|}}
|-
{{#if:{{{participación2|}}}|{{!}} colspan="12" style="text-align:left; width:50%" {{!}} <small>Participación</small>|}}
|-
{{#if:{{{participación2|}}}|{{!}}-
{{!}} colspan="7" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{#if:{{{color_participación|}}}|{{{color_participación|}}}|{{#ifexpr:{{{participación2|1}}}>60|green|{{#ifexpr:{{{participación2|1}}}>40|orange|red}}}}}};width:{{#expr:{{{participación2|0}}} round 0}}%;">  </div>
{{!}} colspan="5" style="text-align:right; width:25%;"{{!}}{{{participación2|0}}} %{{#if:{{{participación|}}}|<small> {{#ifexpr:{{{participación2|1}}}>{{{participación|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{participación2|1}}}<{{{participación|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}}{{#if:{{{participación|}}}| {{#expr:{{#ifexpr:{{{participación2|1}}}>{{{participación|0}}}|({{{participación2|1}}}-{{{participación|1}}})|({{{participación}}}-{{{participación2}}})}} round 1}} %</small>|}}{{{participación2_ref|}}}|}}
{{!}}-
{{#if:{{{válidos2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos válidos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{válidos2}}}}}</small>|}}
{{!}}-
{{#if:{{{blancos2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos en blanco</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{blancos2}}}}}</small>|}}
{{!}}-
{{#if:{{{nulos2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Votos nulos</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{nulos2}}}}}</small>|}}
{{!}}-
{{#if:{{{sin_marcar2|}}}|{{!}} colspan="6" style="text-align:left; width:50%" {{!}} <small>Tarjetas no marcadas</small>
{{!}} colspan="6" style="text-align:right; width:50%" {{!}} <small>{{formatnum:{{{sin_marcar2}}}}}</small>|}}
{{!}}-
<noinclude>Primer partido</noinclude>
{{#if:{{{candidato1|}}}{{{partido1|}}}{{{líder1|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''Resultados'''
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color1|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición1|}}}|1|0}}+{{#if:{{{porcentaje1|}}}|1|0}}+{{#if:{{{porcentaje2v1|}}}|1|0}}+{{#if:{{{votos1|}}}|1|0}}+{{#if:{{{votos2v1|}}}|1|0}}+{{#if:{{{voto_electoral1|}}}|1|0}}+{{#if:{{{voto_electoral0v1|}}}|1|0}}+{{#if:{{{senadores1|}}}|1|0}}+{{#if:{{{diputados1|}}}|1|0}}+{{#if:{{{escaños1|}}}|1|0}}+{{#if:{{{gobernaciones1|}}}|1|0}}+{{#if:{{{prefecturas1|}}}|1|0}}+{{#if:{{{alcaldías1|}}}|1|0}}+{{#if:{{{concejales1|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen1|}}}{{{símbolo1|}}}|{{{imagen1|}}}{{{símbolo1|}}}|{{#ifeq:{{{género1}}}|hombre|Archivo:{{#ifexist:media:{{{color1}}} - replace this image male.svg|{{{color1}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género1}}}|mujer|Archivo:{{#ifexist:media:{{{color1}}} - replace this image female.svg|{{{color1}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color1}}} flag waving.svg|{{{color1}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato1|}}}|'''{{{candidato1|}}}''' –|}} {{#if:{{{partido1|}}}|'''{{{partido1|}}}'''|}}{{#if:{{{líder1|}}}| – '''{{{líder1|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición1|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición1|}}}|{{Lista plegable|título={{{coalición1|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición1|}}}
|2 ={{{partido2_coalición1|}}}
|3 ={{{partido3_coalición1|}}}
|4 ={{{partido4_coalición1|}}}
|5 ={{{partido5_coalición1|}}}
|6 ={{{partido6_coalición1|}}}
|7 ={{{partido7_coalición1|}}}
}}|{{{partido1_coalición1}}}}}|}}
{{!}}-
{{#if:{{{votos1|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos1|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos1_ant|}}}|{{#ifexpr:{{{votos1|1}}}>{{{votos1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos1|1}}}<{{{votos1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos1_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos1|1}}}>{{{votos1_ant|0}}}|({{{votos1|1}}}-{{{votos1_ant|1}}})/{{{votos1_ant|1}}}|({{{votos1_ant}}}-{{{votos1}}})/{{{votos1_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v1|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v1|0}}}}}<small> {{#if:{{{votos1|}}}|{{#ifexpr:{{{votos2v1|1}}}>{{{votos1|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v1|1}}}<{{{votos1|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos1|}}}|{{#expr:100*{{#ifexpr:{{{votos2v1|1}}}>{{{votos1|0}}}|({{{votos2v1|1}}}-{{{votos1|1}}})/{{{votos1|1}}}|({{{votos1}}}-{{{votos2v1}}})/{{{votos1}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral1|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral1|0}}}}}<small> {{#if:{{{voto_electoral1_ant|}}}|{{#ifexpr:{{{voto_electoral1|1}}}>{{{voto_electoral1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral1|1}}}<{{{voto_electoral1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral1_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral1|1}}}>{{{voto_electoral1_ant|0}}}|({{{voto_electoral1|1}}}-{{{voto_electoral1_ant|1}}})/{{{voto_electoral1_ant|1}}}|({{{voto_electoral1_ant}}}-{{{voto_electoral1}}})/{{{voto_electoral1_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v1|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v1|0}}}}}<small> {{#if:{{{voto_electoral1_ant|}}}|{{#ifexpr:{{{voto_electoral0v1|1}}}>{{{voto_electoral1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v1|1}}}<{{{voto_electoral1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral1_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v1|1}}}>{{{voto_electoral1_ant|0}}}|({{{voto_electoral0v1|1}}}-{{{voto_electoral1_ant|1}}})/{{{voto_electoral1_ant|1}}}|({{{voto_electoral1_ant}}}-{{{voto_electoral0v1}}})/{{{voto_electoral1_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños1|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños1|0}}}<small> {{#if:{{{escaños1_ant|}}}|{{#ifexpr:{{{escaños1|1}}}>{{{escaños1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños1|1}}}<{{{escaños1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños1_ant|}}}|{{#expr:{{#ifexpr:{{{escaños1|1}}}>{{{escaños1_ant|0}}}|({{{escaños1|1}}}-{{{escaños1_ant|1}}})|({{{escaños1_ant}}}-{{{escaños1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados1|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados1|0}}}<small> {{#if:{{{delegados1_ant|}}}|{{#ifexpr:{{{delegados1|1}}}>{{{delegados1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados1|1}}}<{{{delegados1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados1_ant|}}}|{{#expr:{{#ifexpr:{{{delegados1|1}}}>{{{delegados1_ant|0}}}|({{{delegados1|1}}}-{{{delegados1_ant|1}}})|({{{delegados1_ant}}}-{{{delegados1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes1|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes1|0}}}<small> {{#if:{{{representantes1_ant|}}}|{{#ifexpr:{{{representantes1|1}}}>{{{representantes1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes1|1}}}<{{{representantes1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes1_ant|}}}|{{#expr:{{#ifexpr:{{{representantes1|1}}}>{{{representantes1_ant|0}}}|({{{representantes1|1}}}-{{{representantes1_ant|1}}})|({{{representantes1_ant}}}-{{{representantes1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores1|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores1|0}}}<small> {{#if:{{{senadores1_ant|}}}|{{#ifexpr:{{{senadores1|1}}}>{{{senadores1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores1|1}}}<{{{senadores1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores1_ant|}}}|{{#expr:{{#ifexpr:{{{senadores1|1}}}>{{{senadores1_ant|0}}}|({{{senadores1|1}}}-{{{senadores1_ant|1}}})|({{{senadores1_ant}}}-{{{senadores1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados1|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados1|0}}}<small> {{#if:{{{diputados1_ant|}}}|{{#ifexpr:{{{diputados1|1}}}>{{{diputados1_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados1|1}}}<{{{diputados1_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados1_ant|}}}|{{#expr:{{#ifexpr:{{{diputados1|1}}}>{{{diputados1_ant|0}}}|({{{diputados1|1}}}-{{{diputados1_ant|1}}})|({{{diputados1_ant}}}-{{{diputados1}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones1|0}}}|}}
{{!}}-
{{#if:{{{prefecturas1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas1|0}}}|}}
{{!}}-
{{#if:{{{alcaldías1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías1|0}}}|}}
{{!}}-
{{#if:{{{concejales1|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales1|0}}}|}}
{{#if:{{{porcentaje1|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color1|}}};width:{{#expr:{{{porcentaje1|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje1|0}}} %{{{ref_porcentaje1|}}}|}}
{{#if:{{{porcentaje2v1|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color1|}}};width:{{#expr:{{{porcentaje2v1|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v1|0}}} %{{{ref_porcentaje2v1|}}}|}}|}}
{{!}}-
<noinclude>Segundo partido</noinclude>
{{#if:{{{candidato2|}}}{{{partido2|}}}{{{líder2|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color2|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición2|}}}|1|0}}+{{#if:{{{porcentaje2|}}}|1|0}}+{{#if:{{{porcentaje2v2|}}}|1|0}}+{{#if:{{{votos2|}}}|1|0}}+{{#if:{{{votos2v2|}}}|1|0}}+{{#if:{{{voto_electoral2|}}}|1|0}}+{{#if:{{{voto_electoral0v2|}}}|1|0}}+{{#if:{{{senadores2|}}}|1|0}}+{{#if:{{{diputados2|}}}|1|0}}+{{#if:{{{escaños2|}}}|1|0}}+{{#if:{{{gobernaciones2|}}}|1|0}}+{{#if:{{{prefecturas2|}}}|1|0}}+{{#if:{{{alcaldías2|}}}|1|0}}+{{#if:{{{concejales2|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen2|}}}{{{símbolo2|}}}|{{{imagen2|}}}{{{símbolo2|}}}|{{#ifeq:{{{género2}}}|hombre|Archivo:{{#ifexist:media:{{{color2}}} - replace this image male.svg|{{{color2}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género2}}}|mujer|Archivo:{{#ifexist:media:{{{color2}}} - replace this image female.svg|{{{color2}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color2}}} flag waving.svg|{{{color2}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato2|}}}|'''{{{candidato2|}}}''' –|}} {{#if:{{{partido2|}}}|'''{{{partido2|}}}'''|}}{{#if:{{{líder2|}}}| – '''{{{líder2|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición2|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición2|}}}|{{Lista plegable|título={{{coalición2|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición2|}}}
|2 ={{{partido2_coalición2|}}}
|3 ={{{partido3_coalición2|}}}
|4 ={{{partido4_coalición2|}}}
|5 ={{{partido5_coalición2|}}}
|6 ={{{partido6_coalición2|}}}
|7 ={{{partido7_coalición2|}}}
}}|{{{partido1_coalición2}}}}}|}}
{{!}}-
{{#if:{{{votos2|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos2|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos2_ant|}}}|{{#ifexpr:{{{votos2|1}}}>{{{votos2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2|1}}}<{{{votos2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos2_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos2|1}}}>{{{votos2_ant|0}}}|({{{votos2|1}}}-{{{votos2_ant|1}}})/{{{votos2_ant|1}}}|({{{votos2_ant}}}-{{{votos2}}})/{{{votos2_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v2|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v2|0}}}}}<small> {{#if:{{{votos2|}}}|{{#ifexpr:{{{votos2v2|1}}}>{{{votos2|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v2|1}}}<{{{votos2|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos2|}}}|{{#expr:100*{{#ifexpr:{{{votos2v2|1}}}>{{{votos2|0}}}|({{{votos2v2|1}}}-{{{votos2|1}}})/{{{votos2|1}}}|({{{votos2}}}-{{{votos2v2}}})/{{{votos2}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral2|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral2|0}}}}}<small> {{#if:{{{voto_electoral2_ant|}}}|{{#ifexpr:{{{voto_electoral2|1}}}>{{{voto_electoral2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral2|1}}}<{{{voto_electoral2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral2_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral2|1}}}>{{{voto_electoral2_ant|0}}}|({{{voto_electoral2|1}}}-{{{voto_electoral2_ant|1}}})/{{{voto_electoral2_ant|1}}}|({{{voto_electoral2_ant}}}-{{{voto_electoral2}}})/{{{voto_electoral2_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v2|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v2|0}}}}}<small> {{#if:{{{voto_electoral2_ant|}}}|{{#ifexpr:{{{voto_electoral0v2|1}}}>{{{voto_electoral2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v2|1}}}<{{{voto_electoral2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral2_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v2|1}}}>{{{voto_electoral2_ant|0}}}|({{{voto_electoral0v2|1}}}-{{{voto_electoral2_ant|1}}})/{{{voto_electoral2_ant|1}}}|({{{voto_electoral2_ant}}}-{{{voto_electoral0v2}}})/{{{voto_electoral2_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños2|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños2|0}}}<small> {{#if:{{{escaños2_ant|}}}|{{#ifexpr:{{{escaños2|1}}}>{{{escaños2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños2|1}}}<{{{escaños2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños2_ant|}}}|{{#expr:{{#ifexpr:{{{escaños2|1}}}>{{{escaños2_ant|0}}}|({{{escaños2|1}}}-{{{escaños2_ant|1}}})|({{{escaños2_ant}}}-{{{escaños2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados2|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados2|0}}}<small> {{#if:{{{delegados2_ant|}}}|{{#ifexpr:{{{delegados2|1}}}>{{{delegados2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados2|1}}}<{{{delegados2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados2_ant|}}}|{{#expr:{{#ifexpr:{{{delegados2|1}}}>{{{delegados2_ant|0}}}|({{{delegados2|1}}}-{{{delegados2_ant|1}}})|({{{delegados2_ant}}}-{{{delegados2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes2|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes2|0}}}<small> {{#if:{{{representantes2_ant|}}}|{{#ifexpr:{{{representantes2|1}}}>{{{representantes2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes2|1}}}<{{{representantes2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes2_ant|}}}|{{#expr:{{#ifexpr:{{{representantes2|1}}}>{{{representantes2_ant|0}}}|({{{representantes2|1}}}-{{{representantes2_ant|1}}})|({{{representantes2_ant}}}-{{{representantes2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores2|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores2|0}}}<small> {{#if:{{{senadores2_ant|}}}|{{#ifexpr:{{{senadores2|1}}}>{{{senadores2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores2|1}}}<{{{senadores2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores2_ant|}}}|{{#expr:{{#ifexpr:{{{senadores2|1}}}>{{{senadores2_ant|0}}}|({{{senadores2|1}}}-{{{senadores2_ant|1}}})|({{{senadores2_ant}}}-{{{senadores2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados2|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados2|0}}}<small> {{#if:{{{diputados2_ant|}}}|{{#ifexpr:{{{diputados2|1}}}>{{{diputados2_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados2|1}}}<{{{diputados2_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados2_ant|}}}|{{#expr:{{#ifexpr:{{{diputados2|1}}}>{{{diputados2_ant|0}}}|({{{diputados2|1}}}-{{{diputados2_ant|1}}})|({{{diputados2_ant}}}-{{{diputados2}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones2|0}}}|}}
{{!}}-
{{#if:{{{prefecturas2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas2|0}}}|}}
{{!}}-
{{#if:{{{alcaldías2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías2|0}}}|}}
{{!}}-
{{#if:{{{concejales2|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales2|0}}}|}}
{{#if:{{{porcentaje2|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color2|}}};width:{{#expr:{{{porcentaje2|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2|0}}} %{{{ref_porcentaje2|}}}|}}
{{#if:{{{porcentaje2v2|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color2|}}};width:{{#expr:{{{porcentaje2v2|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v2|0}}} %{{{ref_porcentaje2v2|}}}|}}|}}
{{!}}-
<noinclude>Tercer partido</noinclude>
{{#if:{{{candidato3|}}}{{{partido3|}}}{{{líder3|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color3|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición3|}}}|1|0}}+{{#if:{{{porcentaje3|}}}|1|0}}+{{#if:{{{porcentaje2v3|}}}|1|0}}+{{#if:{{{votos3|}}}|1|0}}+{{#if:{{{votos2v3|}}}|1|0}}+{{#if:{{{voto_electoral3|}}}|1|0}}+{{#if:{{{voto_electoral0v3|}}}|1|0}}+{{#if:{{{senadores3|}}}|1|0}}+{{#if:{{{diputados3|}}}|1|0}}+{{#if:{{{escaños3|}}}|1|0}}+{{#if:{{{gobernaciones3|}}}|1|0}}+{{#if:{{{prefecturas3|}}}|1|0}}+{{#if:{{{alcaldías3|}}}|1|0}}+{{#if:{{{concejales3|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen3|}}}{{{símbolo3|}}}|{{{imagen3|}}}{{{símbolo3|}}}|{{#ifeq:{{{género3}}}|hombre|Archivo:{{#ifexist:media:{{{color3}}} - replace this image male.svg|{{{color3}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género3}}}|mujer|Archivo:{{#ifexist:media:{{{color3}}} - replace this image female.svg|{{{color3}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color3}}} flag waving.svg|{{{color3}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato3|}}}|'''{{{candidato3|}}}''' –|}} {{#if:{{{partido3|}}}|'''{{{partido3|}}}'''|}}{{#if:{{{líder3|}}}| – '''{{{líder3|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición3|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición3|}}}|{{Lista plegable|título={{{coalición3|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición3|}}}
|2 ={{{partido2_coalición3|}}}
|3 ={{{partido3_coalición3|}}}
|4 ={{{partido4_coalición3|}}}
|5 ={{{partido5_coalición3|}}}
|6 ={{{partido6_coalición3|}}}
|7 ={{{partido7_coalición3|}}}
}}|{{{partido1_coalición3}}}}}|}}
{{!}}-
{{#if:{{{votos3|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos3|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos3_ant|}}}|{{#ifexpr:{{{votos3|1}}}>{{{votos3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos3|1}}}<{{{votos3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos3_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos3|1}}}>{{{votos3_ant|0}}}|({{{votos3|1}}}-{{{votos3_ant|1}}})/{{{votos3_ant|1}}}|({{{votos3_ant}}}-{{{votos3}}})/{{{votos3_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v3|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v3|0}}}}}<small> {{#if:{{{votos3|}}}|{{#ifexpr:{{{votos2v3|1}}}>{{{votos3|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v3|1}}}<{{{votos3|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos3|}}}|{{#expr:100*{{#ifexpr:{{{votos2v3|1}}}>{{{votos3|0}}}|({{{votos2v3|1}}}-{{{votos3|1}}})/{{{votos3|1}}}|({{{votos3}}}-{{{votos2v3}}})/{{{votos3}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral3|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral3|0}}}}}<small> {{#if:{{{voto_electoral3_ant|}}}|{{#ifexpr:{{{voto_electoral3|1}}}>{{{voto_electoral3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral3|1}}}<{{{voto_electoral3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral3_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral3|1}}}>{{{voto_electoral3_ant|0}}}|({{{voto_electoral3|1}}}-{{{voto_electoral3_ant|1}}})/{{{voto_electoral3_ant|1}}}|({{{voto_electoral3_ant}}}-{{{voto_electoral3}}})/{{{voto_electoral3_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v3|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v3|0}}}}}<small> {{#if:{{{voto_electoral3_ant|}}}|{{#ifexpr:{{{voto_electoral0v3|1}}}>{{{voto_electoral3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v3|1}}}<{{{voto_electoral3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral3_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v3|1}}}>{{{voto_electoral3_ant|0}}}|({{{voto_electoral0v3|1}}}-{{{voto_electoral3_ant|1}}})/{{{voto_electoral3_ant|1}}}|({{{voto_electoral3_ant}}}-{{{voto_electoral0v3}}})/{{{voto_electoral3_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños3|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños3|0}}}<small> {{#if:{{{escaños3_ant|}}}|{{#ifexpr:{{{escaños3|1}}}>{{{escaños3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños3|1}}}<{{{escaños3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños3_ant|}}}|{{#expr:{{#ifexpr:{{{escaños3|1}}}>{{{escaños3_ant|0}}}|({{{escaños3|1}}}-{{{escaños3_ant|1}}})|({{{escaños3_ant}}}-{{{escaños3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados3|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados3|0}}}<small> {{#if:{{{delegados3_ant|}}}|{{#ifexpr:{{{delegados3|1}}}>{{{delegados3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados3|1}}}<{{{delegados3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados3_ant|}}}|{{#expr:{{#ifexpr:{{{delegados3|1}}}>{{{delegados3_ant|0}}}|({{{delegados3|1}}}-{{{delegados3_ant|1}}})|({{{delegados3_ant}}}-{{{delegados3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes3|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes3|0}}}<small> {{#if:{{{representantes3_ant|}}}|{{#ifexpr:{{{representantes3|1}}}>{{{representantes3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes3|1}}}<{{{representantes3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes3_ant|}}}|{{#expr:{{#ifexpr:{{{representantes3|1}}}>{{{representantes3_ant|0}}}|({{{representantes3|1}}}-{{{representantes3_ant|1}}})|({{{representantes3_ant}}}-{{{representantes3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores3|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores3|0}}}<small> {{#if:{{{senadores3_ant|}}}|{{#ifexpr:{{{senadores3|1}}}>{{{senadores3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores3|1}}}<{{{senadores3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores3_ant|}}}|{{#expr:{{#ifexpr:{{{senadores3|1}}}>{{{senadores3_ant|0}}}|({{{senadores3|1}}}-{{{senadores3_ant|1}}})|({{{senadores3_ant}}}-{{{senadores3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados3|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados3|0}}}<small> {{#if:{{{diputados3_ant|}}}|{{#ifexpr:{{{diputados3|1}}}>{{{diputados3_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados3|1}}}<{{{diputados3_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados3_ant|}}}|{{#expr:{{#ifexpr:{{{diputados3|1}}}>{{{diputados3_ant|0}}}|({{{diputados3|1}}}-{{{diputados3_ant|1}}})|({{{diputados3_ant}}}-{{{diputados3}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones3|0}}}|}}
{{!}}-
{{#if:{{{prefecturas3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas3|0}}}|}}
{{!}}-
{{#if:{{{alcaldías3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías3|0}}}|}}
{{!}}-
{{#if:{{{concejales3|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales3|0}}}|}}
{{#if:{{{porcentaje3|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color3|}}};width:{{#expr:{{{porcentaje3|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje3|0}}} %{{{ref_porcentaje3|}}}|}}
{{#if:{{{porcentaje2v3|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color3|}}};width:{{#expr:{{{porcentaje2v3|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v3|0}}} %{{{ref_porcentaje2v3|}}}|}}|}}
{{!}}-
<noinclude>Cuarto partido</noinclude>
{{#if:{{{candidato4|}}}{{{partido4|}}}{{{líder4|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color4|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición4|}}}|1|0}}+{{#if:{{{porcentaje4|}}}|1|0}}+{{#if:{{{porcentaje2v4|}}}|1|0}}+{{#if:{{{votos4|}}}|1|0}}+{{#if:{{{votos2v4|}}}|1|0}}+{{#if:{{{voto_electoral4|}}}|1|0}}+{{#if:{{{voto_electoral0v4|}}}|1|0}}+{{#if:{{{senadores4|}}}|1|0}}+{{#if:{{{diputados4|}}}|1|0}}+{{#if:{{{escaños4|}}}|1|0}}+{{#if:{{{gobernaciones4|}}}|1|0}}+{{#if:{{{prefecturas4|}}}|1|0}}+{{#if:{{{alcaldías4|}}}|1|0}}+{{#if:{{{concejales4|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen4|}}}{{{símbolo4|}}}|{{{imagen4|}}}{{{símbolo4|}}}|{{#ifeq:{{{género4}}}|hombre|Archivo:{{#ifexist:media:{{{color4}}} - replace this image male.svg|{{{color4}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género4}}}|mujer|Archivo:{{#ifexist:media:{{{color4}}} - replace this image female.svg|{{{color4}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color4}}} flag waving.svg|{{{color4}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato4|}}}|'''{{{candidato4|}}}''' –|}} {{#if:{{{partido4|}}}|'''{{{partido4|}}}'''|}}{{#if:{{{líder4|}}}| – '''{{{líder4|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición4|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición4|}}}|{{Lista plegable|título={{{coalición4|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición4|}}}
|2 ={{{partido2_coalición4|}}}
|3 ={{{partido3_coalición4|}}}
|4 ={{{partido4_coalición4|}}}
|5 ={{{partido5_coalición4|}}}
|6 ={{{partido6_coalición4|}}}
|7 ={{{partido7_coalición4|}}}
}}|{{{partido1_coalición4}}}}}|}}
{{!}}-
{{#if:{{{votos4|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos4|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos4_ant|}}}|{{#ifexpr:{{{votos4|1}}}>{{{votos4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos4|1}}}<{{{votos4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos4_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos4|1}}}>{{{votos4_ant|0}}}|({{{votos4|1}}}-{{{votos4_ant|1}}})/{{{votos4_ant|1}}}|({{{votos4_ant}}}-{{{votos4}}})/{{{votos4_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v4|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v4|0}}}}}<small> {{#if:{{{votos4|}}}|{{#ifexpr:{{{votos2v4|1}}}>{{{votos4|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v4|1}}}<{{{votos4|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos4|}}}|{{#expr:100*{{#ifexpr:{{{votos2v4|1}}}>{{{votos4|0}}}|({{{votos2v4|1}}}-{{{votos4|1}}})/{{{votos4|1}}}|({{{votos4}}}-{{{votos2v4}}})/{{{votos4}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral4|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral4|0}}}}}<small> {{#if:{{{voto_electoral4_ant|}}}|{{#ifexpr:{{{voto_electoral4|1}}}>{{{voto_electoral4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral4|1}}}<{{{voto_electoral4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral4_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral4|1}}}>{{{voto_electoral4_ant|0}}}|({{{voto_electoral4|1}}}-{{{voto_electoral4_ant|1}}})/{{{voto_electoral4_ant|1}}}|({{{voto_electoral4_ant}}}-{{{voto_electoral4}}})/{{{voto_electoral4_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v4|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v4|0}}}}}<small> {{#if:{{{voto_electoral4_ant|}}}|{{#ifexpr:{{{voto_electoral0v4|1}}}>{{{voto_electoral4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v4|1}}}<{{{voto_electoral4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral4_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v4|1}}}>{{{voto_electoral4_ant|0}}}|({{{voto_electoral0v4|1}}}-{{{voto_electoral4_ant|1}}})/{{{voto_electoral4_ant|1}}}|({{{voto_electoral4_ant}}}-{{{voto_electoral0v4}}})/{{{voto_electoral4_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños4|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños4|0}}}<small> {{#if:{{{escaños4_ant|}}}|{{#ifexpr:{{{escaños4|1}}}>{{{escaños4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños4|1}}}<{{{escaños4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños4_ant|}}}|{{#expr:{{#ifexpr:{{{escaños4|1}}}>{{{escaños4_ant|0}}}|({{{escaños4|1}}}-{{{escaños4_ant|1}}})|({{{escaños4_ant}}}-{{{escaños4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados4|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados4|0}}}<small> {{#if:{{{delegados4_ant|}}}|{{#ifexpr:{{{delegados4|1}}}>{{{delegados4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados4|1}}}<{{{delegados4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados4_ant|}}}|{{#expr:{{#ifexpr:{{{delegados4|1}}}>{{{delegados4_ant|0}}}|({{{delegados4|1}}}-{{{delegados4_ant|1}}})|({{{delegados4_ant}}}-{{{delegados4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes4|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes4|0}}}<small> {{#if:{{{representantes4_ant|}}}|{{#ifexpr:{{{representantes4|1}}}>{{{representantes4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes4|1}}}<{{{representantes4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes4_ant|}}}|{{#expr:{{#ifexpr:{{{representantes4|1}}}>{{{representantes4_ant|0}}}|({{{representantes4|1}}}-{{{representantes4_ant|1}}})|({{{representantes4_ant}}}-{{{representantes4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores4|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores4|0}}}<small> {{#if:{{{senadores4_ant|}}}|{{#ifexpr:{{{senadores4|1}}}>{{{senadores4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores4|1}}}<{{{senadores4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores4_ant|}}}|{{#expr:{{#ifexpr:{{{senadores4|1}}}>{{{senadores4_ant|0}}}|({{{senadores4|1}}}-{{{senadores4_ant|1}}})|({{{senadores4_ant}}}-{{{senadores4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados4|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados4|0}}}<small> {{#if:{{{diputados4_ant|}}}|{{#ifexpr:{{{diputados4|1}}}>{{{diputados4_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados4|1}}}<{{{diputados4_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados4_ant|}}}|{{#expr:{{#ifexpr:{{{diputados4|1}}}>{{{diputados4_ant|0}}}|({{{diputados4|1}}}-{{{diputados4_ant|1}}})|({{{diputados4_ant}}}-{{{diputados4}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones4|0}}}|}}
{{!}}-
{{#if:{{{prefecturas4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas4|0}}}|}}
{{!}}-
{{#if:{{{alcaldías4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías4|0}}}|}}
{{!}}-
{{#if:{{{concejales4|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales4|0}}}|}}
{{#if:{{{porcentaje4|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color4|}}};width:{{#expr:{{{porcentaje4|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje4|0}}} %{{{ref_porcentaje4|}}}|}}
{{#if:{{{porcentaje2v4|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color4|}}};width:{{#expr:{{{porcentaje2v4|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v4|0}}} %{{{ref_porcentaje2v4|}}}|}}|}}
{{!}}-
<noinclude>Quinto partido</noinclude>
{{#if:{{{candidato5|}}}{{{partido5|}}}{{{líder5|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color5|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición5|}}}|1|0}}+{{#if:{{{porcentaje5|}}}|1|0}}+{{#if:{{{porcentaje2v5|}}}|1|0}}+{{#if:{{{votos5|}}}|1|0}}+{{#if:{{{votos2v5|}}}|1|0}}+{{#if:{{{voto_electoral5|}}}|1|0}}+{{#if:{{{voto_electoral0v5|}}}|1|0}}+{{#if:{{{senadores5|}}}|1|0}}+{{#if:{{{diputados5|}}}|1|0}}+{{#if:{{{escaños5|}}}|1|0}}+{{#if:{{{gobernaciones5|}}}|1|0}}+{{#if:{{{prefecturas5|}}}|1|0}}+{{#if:{{{alcaldías5|}}}|1|0}}+{{#if:{{{concejales5|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen5|}}}{{{símbolo5|}}}|{{{imagen5|}}}{{{símbolo5|}}}|{{#ifeq:{{{género5}}}|hombre|Archivo:{{#ifexist:media:{{{color5}}} - replace this image male.svg|{{{color5}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género5}}}|mujer|Archivo:{{#ifexist:media:{{{color5}}} - replace this image female.svg|{{{color5}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color5}}} flag waving.svg|{{{color5}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato5|}}}|'''{{{candidato5|}}}''' –|}} {{#if:{{{partido5|}}}|'''{{{partido5|}}}'''|}}{{#if:{{{líder5|}}}| – '''{{{líder5|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición5|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición5|}}}|{{Lista plegable|título={{{coalición5|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición5|}}}
|2 ={{{partido2_coalición5|}}}
|3 ={{{partido3_coalición5|}}}
|4 ={{{partido4_coalición5|}}}
|5 ={{{partido5_coalición5|}}}
|6 ={{{partido6_coalición5|}}}
|7 ={{{partido7_coalición5|}}}
}}|{{{partido1_coalición5}}}}}|}}
{{!}}-
{{#if:{{{votos5|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos5|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos5_ant|}}}|{{#ifexpr:{{{votos5|1}}}>{{{votos5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos5|1}}}<{{{votos5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos5_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos5|1}}}>{{{votos5_ant|0}}}|({{{votos5|1}}}-{{{votos5_ant|1}}})/{{{votos5_ant|1}}}|({{{votos5_ant}}}-{{{votos5}}})/{{{votos5_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v5|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v5|0}}}}}<small> {{#if:{{{votos5|}}}|{{#ifexpr:{{{votos2v5|1}}}>{{{votos5|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v5|1}}}<{{{votos5|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos5|}}}|{{#expr:100*{{#ifexpr:{{{votos2v5|1}}}>{{{votos5|0}}}|({{{votos2v5|1}}}-{{{votos5|1}}})/{{{votos5|1}}}|({{{votos5}}}-{{{votos2v5}}})/{{{votos5}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral5|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral5|0}}}}}<small> {{#if:{{{voto_electoral5_ant|}}}|{{#ifexpr:{{{voto_electoral5|1}}}>{{{voto_electoral5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral5|1}}}<{{{voto_electoral5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral5_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral5|1}}}>{{{voto_electoral5_ant|0}}}|({{{voto_electoral5|1}}}-{{{voto_electoral5_ant|1}}})/{{{voto_electoral5_ant|1}}}|({{{voto_electoral5_ant}}}-{{{voto_electoral5}}})/{{{voto_electoral5_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v5|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v5|0}}}}}<small> {{#if:{{{voto_electoral5_ant|}}}|{{#ifexpr:{{{voto_electoral0v5|1}}}>{{{voto_electoral5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v5|1}}}<{{{voto_electoral5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral5_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v5|1}}}>{{{voto_electoral5_ant|0}}}|({{{voto_electoral0v5|1}}}-{{{voto_electoral5_ant|1}}})/{{{voto_electoral5_ant|1}}}|({{{voto_electoral5_ant}}}-{{{voto_electoral0v5}}})/{{{voto_electoral5_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños5|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños5|0}}}<small> {{#if:{{{escaños5_ant|}}}|{{#ifexpr:{{{escaños5|1}}}>{{{escaños5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños5|1}}}<{{{escaños5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños5_ant|}}}|{{#expr:{{#ifexpr:{{{escaños5|1}}}>{{{escaños5_ant|0}}}|({{{escaños5|1}}}-{{{escaños5_ant|1}}})|({{{escaños5_ant}}}-{{{escaños5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados5|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados5|0}}}<small> {{#if:{{{delegados5_ant|}}}|{{#ifexpr:{{{delegados5|1}}}>{{{delegados5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados5|1}}}<{{{delegados5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados5_ant|}}}|{{#expr:{{#ifexpr:{{{delegados5|1}}}>{{{delegados5_ant|0}}}|({{{delegados5|1}}}-{{{delegados5_ant|1}}})|({{{delegados5_ant}}}-{{{delegados5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes5|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes5|0}}}<small> {{#if:{{{representantes5_ant|}}}|{{#ifexpr:{{{representantes5|1}}}>{{{representantes5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes5|1}}}<{{{representantes5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes5_ant|}}}|{{#expr:{{#ifexpr:{{{representantes5|1}}}>{{{representantes5_ant|0}}}|({{{representantes5|1}}}-{{{representantes5_ant|1}}})|({{{representantes5_ant}}}-{{{representantes5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores5|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores5|0}}}<small> {{#if:{{{senadores5_ant|}}}|{{#ifexpr:{{{senadores5|1}}}>{{{senadores5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores5|1}}}<{{{senadores5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores5_ant|}}}|{{#expr:{{#ifexpr:{{{senadores5|1}}}>{{{senadores5_ant|0}}}|({{{senadores5|1}}}-{{{senadores5_ant|1}}})|({{{senadores5_ant}}}-{{{senadores5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados5|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados5|0}}}<small> {{#if:{{{diputados5_ant|}}}|{{#ifexpr:{{{diputados5|1}}}>{{{diputados5_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados5|1}}}<{{{diputados5_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados5_ant|}}}|{{#expr:{{#ifexpr:{{{diputados5|1}}}>{{{diputados5_ant|0}}}|({{{diputados5|1}}}-{{{diputados5_ant|1}}})|({{{diputados5_ant}}}-{{{diputados5}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones5|0}}}|}}
{{!}}-
{{#if:{{{prefecturas5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas5|0}}}|}}
{{!}}-
{{#if:{{{alcaldías5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías5|0}}}|}}
{{!}}-
{{#if:{{{concejales5|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales5|0}}}|}}
{{#if:{{{porcentaje5|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color5|}}};width:{{#expr:{{{porcentaje5|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje5|0}}} %{{{ref_porcentaje5|}}}|}}
{{#if:{{{porcentaje2v5|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color5|}}};width:{{#expr:{{{porcentaje2v5|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v5|0}}} %{{{ref_porcentaje2v5|}}}|}}|}}
{{!}}-
<noinclude>Sexto partido</noinclude>
{{#if:{{{candidato6|}}}{{{partido6|}}}{{{líder6|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color6|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición6|}}}|1|0}}+{{#if:{{{porcentaje6|}}}|1|0}}+{{#if:{{{porcentaje2v6|}}}|1|0}}+{{#if:{{{votos6|}}}|1|0}}+{{#if:{{{votos2v6|}}}|1|0}}+{{#if:{{{voto_electoral6|}}}|1|0}}+{{#if:{{{voto_electoral0v6|}}}|1|0}}+{{#if:{{{senadores6|}}}|1|0}}+{{#if:{{{diputados6|}}}|1|0}}+{{#if:{{{escaños6|}}}|1|0}}+{{#if:{{{gobernaciones6|}}}|1|0}}+{{#if:{{{prefecturas6|}}}|1|0}}+{{#if:{{{alcaldías6|}}}|1|0}}+{{#if:{{{concejales6|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen6|}}}{{{símbolo6|}}}|{{{imagen6|}}}{{{símbolo6|}}}|{{#ifeq:{{{género6}}}|hombre|Archivo:{{#ifexist:media:{{{color6}}} - replace this image male.svg|{{{color6}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género6}}}|mujer|Archivo:{{#ifexist:media:{{{color6}}} - replace this image female.svg|{{{color6}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color6}}} flag waving.svg|{{{color6}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato6|}}}|'''{{{candidato6|}}}''' –|}} {{#if:{{{partido6|}}}|'''{{{partido6|}}}'''|}}{{#if:{{{líder6|}}}| – '''{{{líder6|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición6|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición6|}}}|{{Lista plegable|título={{{coalición6|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición6|}}}
|2 ={{{partido2_coalición6|}}}
|3 ={{{partido3_coalición6|}}}
|4 ={{{partido4_coalición6|}}}
|5 ={{{partido5_coalición6|}}}
|6 ={{{partido6_coalición6|}}}
|7 ={{{partido7_coalición6|}}}
}}|{{{partido1_coalición6}}}}}|}}
{{!}}-
{{#if:{{{votos6|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos6|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos6_ant|}}}|{{#ifexpr:{{{votos6|1}}}>{{{votos6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos6|1}}}<{{{votos6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos6_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos6|1}}}>{{{votos6_ant|0}}}|({{{votos6|1}}}-{{{votos6_ant|1}}})/{{{votos6_ant|1}}}|({{{votos6_ant}}}-{{{votos6}}})/{{{votos6_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v6|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v6|0}}}}}<small> {{#if:{{{votos6|}}}|{{#ifexpr:{{{votos2v6|1}}}>{{{votos6|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v6|1}}}<{{{votos6|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos6|}}}|{{#expr:100*{{#ifexpr:{{{votos2v6|1}}}>{{{votos6|0}}}|({{{votos2v6|1}}}-{{{votos6|1}}})/{{{votos6|1}}}|({{{votos6}}}-{{{votos2v6}}})/{{{votos6}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral6|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral6|0}}}}}<small> {{#if:{{{voto_electoral6_ant|}}}|{{#ifexpr:{{{voto_electoral6|1}}}>{{{voto_electoral6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral6|1}}}<{{{voto_electoral6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral6_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral6|1}}}>{{{voto_electoral6_ant|0}}}|({{{voto_electoral6|1}}}-{{{voto_electoral6_ant|1}}})/{{{voto_electoral6_ant|1}}}|({{{voto_electoral6_ant}}}-{{{voto_electoral6}}})/{{{voto_electoral6_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v6|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v6|0}}}}}<small> {{#if:{{{voto_electoral6_ant|}}}|{{#ifexpr:{{{voto_electoral0v6|1}}}>{{{voto_electoral6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v6|1}}}<{{{voto_electoral6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral6_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v6|1}}}>{{{voto_electoral6_ant|0}}}|({{{voto_electoral0v6|1}}}-{{{voto_electoral6_ant|1}}})/{{{voto_electoral6_ant|1}}}|({{{voto_electoral6_ant}}}-{{{voto_electoral0v6}}})/{{{voto_electoral6_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños6|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños6|0}}}<small> {{#if:{{{escaños6_ant|}}}|{{#ifexpr:{{{escaños6|1}}}>{{{escaños6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños6|1}}}<{{{escaños6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños6_ant|}}}|{{#expr:{{#ifexpr:{{{escaños6|1}}}>{{{escaños6_ant|0}}}|({{{escaños6|1}}}-{{{escaños6_ant|1}}})|({{{escaños6_ant}}}-{{{escaños6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados6|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados6|0}}}<small> {{#if:{{{delegados6_ant|}}}|{{#ifexpr:{{{delegados6|1}}}>{{{delegados6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados6|1}}}<{{{delegados6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados6_ant|}}}|{{#expr:{{#ifexpr:{{{delegados6|1}}}>{{{delegados6_ant|0}}}|({{{delegados6|1}}}-{{{delegados6_ant|1}}})|({{{delegados6_ant}}}-{{{delegados6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes6|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes6|0}}}<small> {{#if:{{{representantes6_ant|}}}|{{#ifexpr:{{{representantes6|1}}}>{{{representantes6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes6|1}}}<{{{representantes6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes6_ant|}}}|{{#expr:{{#ifexpr:{{{representantes6|1}}}>{{{representantes6_ant|0}}}|({{{representantes6|1}}}-{{{representantes6_ant|1}}})|({{{representantes6_ant}}}-{{{representantes6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores6|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores6|0}}}<small> {{#if:{{{senadores6_ant|}}}|{{#ifexpr:{{{senadores6|1}}}>{{{senadores6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores6|1}}}<{{{senadores6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores6_ant|}}}|{{#expr:{{#ifexpr:{{{senadores6|1}}}>{{{senadores6_ant|0}}}|({{{senadores6|1}}}-{{{senadores6_ant|1}}})|({{{senadores6_ant}}}-{{{senadores6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados6|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados6|0}}}<small> {{#if:{{{diputados6_ant|}}}|{{#ifexpr:{{{diputados6|1}}}>{{{diputados6_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados6|1}}}<{{{diputados6_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados6_ant|}}}|{{#expr:{{#ifexpr:{{{diputados6|1}}}>{{{diputados6_ant|0}}}|({{{diputados6|1}}}-{{{diputados6_ant|1}}})|({{{diputados6_ant}}}-{{{diputados6}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones6|0}}}|}}
{{!}}-
{{#if:{{{prefecturas6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas6|0}}}|}}
{{!}}-
{{#if:{{{alcaldías6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías6|0}}}|}}
{{!}}-
{{#if:{{{concejales6|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales6|0}}}|}}
{{#if:{{{porcentaje6|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color6|}}};width:{{#expr:{{{porcentaje6|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje6|0}}} %{{{ref_porcentaje6|}}}|}}
{{#if:{{{porcentaje2v6|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color6|}}};width:{{#expr:{{{porcentaje2v6|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v6|0}}} %{{{ref_porcentaje2v6|}}}|}}|}}
{{!}}-
<noinclude>Séptimo partido</noinclude>
{{#if:{{{candidato7|}}}{{{partido7|}}}{{{líder7|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color7|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición7|}}}|1|0}}+{{#if:{{{porcentaje7|}}}|1|0}}+{{#if:{{{porcentaje2v7|}}}|1|0}}+{{#if:{{{votos7|}}}|1|0}}+{{#if:{{{votos2v7|}}}|1|0}}+{{#if:{{{voto_electoral7|}}}|1|0}}+{{#if:{{{voto_electoral0v7|}}}|1|0}}+{{#if:{{{senadores7|}}}|1|0}}+{{#if:{{{diputados7|}}}|1|0}}+{{#if:{{{escaños7|}}}|1|0}}+{{#if:{{{gobernaciones7|}}}|1|0}}+{{#if:{{{prefecturas7|}}}|1|0}}+{{#if:{{{alcaldías7|}}}|1|0}}+{{#if:{{{concejales7|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen7|}}}{{{símbolo7|}}}|{{{imagen7|}}}{{{símbolo7|}}}|{{#ifeq:{{{género7}}}|hombre|Archivo:{{#ifexist:media:{{{color7}}} - replace this image male.svg|{{{color7}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género7}}}|mujer|Archivo:{{#ifexist:media:{{{color7}}} - replace this image female.svg|{{{color7}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color7}}} flag waving.svg|{{{color7}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato7|}}}|'''{{{candidato7|}}}''' –|}} {{#if:{{{partido7|}}}|'''{{{partido7|}}}'''|}}{{#if:{{{líder7|}}}| – '''{{{líder7|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición7|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición7|}}}|{{Lista plegable|título={{{coalición7|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición7|}}}
|2 ={{{partido2_coalición7|}}}
|3 ={{{partido3_coalición7|}}}
|4 ={{{partido4_coalición7|}}}
|5 ={{{partido5_coalición7|}}}
|6 ={{{partido6_coalición7|}}}
|7 ={{{partido7_coalición7|}}}
}}|{{{partido1_coalición7}}}}}|}}
{{!}}-
{{#if:{{{votos7|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos7|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos7_ant|}}}|{{#ifexpr:{{{votos7|1}}}>{{{votos7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos7|1}}}<{{{votos7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos7_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos7|1}}}>{{{votos7_ant|0}}}|({{{votos7|1}}}-{{{votos7_ant|1}}})/{{{votos7_ant|1}}}|({{{votos7_ant}}}-{{{votos7}}})/{{{votos7_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v7|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v7|0}}}}}<small> {{#if:{{{votos7|}}}|{{#ifexpr:{{{votos2v7|1}}}>{{{votos7|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v7|1}}}<{{{votos7|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos7|}}}|{{#expr:100*{{#ifexpr:{{{votos2v7|1}}}>{{{votos7|0}}}|({{{votos2v7|1}}}-{{{votos7|1}}})/{{{votos7|1}}}|({{{votos7}}}-{{{votos2v7}}})/{{{votos7}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral7|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral7|0}}}}}<small> {{#if:{{{voto_electoral7_ant|}}}|{{#ifexpr:{{{voto_electoral7|1}}}>{{{voto_electoral7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral7|1}}}<{{{voto_electoral7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral7_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral7|1}}}>{{{voto_electoral7_ant|0}}}|({{{voto_electoral7|1}}}-{{{voto_electoral7_ant|1}}})/{{{voto_electoral7_ant|1}}}|({{{voto_electoral7_ant}}}-{{{voto_electoral7}}})/{{{voto_electoral7_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v7|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v7|0}}}}}<small> {{#if:{{{voto_electoral7_ant|}}}|{{#ifexpr:{{{voto_electoral0v7|1}}}>{{{voto_electoral7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v7|1}}}<{{{voto_electoral7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral7_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v7|1}}}>{{{voto_electoral7_ant|0}}}|({{{voto_electoral0v7|1}}}-{{{voto_electoral7_ant|1}}})/{{{voto_electoral7_ant|1}}}|({{{voto_electoral7_ant}}}-{{{voto_electoral0v7}}})/{{{voto_electoral7_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños7|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños7|0}}}<small> {{#if:{{{escaños7_ant|}}}|{{#ifexpr:{{{escaños7|1}}}>{{{escaños7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños7|1}}}<{{{escaños7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños7_ant|}}}|{{#expr:{{#ifexpr:{{{escaños7|1}}}>{{{escaños7_ant|0}}}|({{{escaños7|1}}}-{{{escaños7_ant|1}}})|({{{escaños7_ant}}}-{{{escaños7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados7|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados7|0}}}<small> {{#if:{{{delegados7_ant|}}}|{{#ifexpr:{{{delegados7|1}}}>{{{delegados7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados7|1}}}<{{{delegados7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados7_ant|}}}|{{#expr:{{#ifexpr:{{{delegados7|1}}}>{{{delegados7_ant|0}}}|({{{delegados7|1}}}-{{{delegados7_ant|1}}})|({{{delegados7_ant}}}-{{{delegados7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes7|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes7|0}}}<small> {{#if:{{{representantes7_ant|}}}|{{#ifexpr:{{{representantes7|1}}}>{{{representantes7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes7|1}}}<{{{representantes7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes7_ant|}}}|{{#expr:{{#ifexpr:{{{representantes7|1}}}>{{{representantes7_ant|0}}}|({{{representantes7|1}}}-{{{representantes7_ant|1}}})|({{{representantes7_ant}}}-{{{representantes7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores7|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores7|0}}}<small> {{#if:{{{senadores7_ant|}}}|{{#ifexpr:{{{senadores7|1}}}>{{{senadores7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores7|1}}}<{{{senadores7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores7_ant|}}}|{{#expr:{{#ifexpr:{{{senadores7|1}}}>{{{senadores7_ant|0}}}|({{{senadores7|1}}}-{{{senadores7_ant|1}}})|({{{senadores7_ant}}}-{{{senadores7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados7|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados7|0}}}<small> {{#if:{{{diputados7_ant|}}}|{{#ifexpr:{{{diputados7|1}}}>{{{diputados7_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados7|1}}}<{{{diputados7_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados7_ant|}}}|{{#expr:{{#ifexpr:{{{diputados7|1}}}>{{{diputados7_ant|0}}}|({{{diputados7|1}}}-{{{diputados7_ant|1}}})|({{{diputados7_ant}}}-{{{diputados7}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones7|0}}}|}}
{{!}}-
{{#if:{{{prefecturas7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas7|0}}}|}}
{{!}}-
{{#if:{{{alcaldías7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías7|0}}}|}}
{{!}}-
{{#if:{{{concejales7|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales7|0}}}|}}
{{#if:{{{porcentaje7|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color7|}}};width:{{#expr:{{{porcentaje7|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje7|0}}} %{{{ref_porcentaje7|}}}|}}
{{#if:{{{porcentaje2v7|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color7|}}};width:{{#expr:{{{porcentaje2v7|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v7|0}}} %{{{ref_porcentaje2v7|}}}|}}|}}
{{!}}-
<noinclude>Octavo partido</noinclude>
{{#if:{{{candidato8|}}}{{{partido8|}}}{{{líder8|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color8|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición8|}}}|1|0}}+{{#if:{{{porcentaje8|}}}|1|0}}+{{#if:{{{porcentaje2v8|}}}|1|0}}+{{#if:{{{votos8|}}}|1|0}}+{{#if:{{{votos2v8|}}}|1|0}}+{{#if:{{{voto_electoral8|}}}|1|0}}+{{#if:{{{voto_electoral0v8|}}}|1|0}}+{{#if:{{{senadores8|}}}|1|0}}+{{#if:{{{diputados8|}}}|1|0}}+{{#if:{{{escaños8|}}}|1|0}}+{{#if:{{{gobernaciones8|}}}|1|0}}+{{#if:{{{prefecturas8|}}}|1|0}}+{{#if:{{{alcaldías8|}}}|1|0}}+{{#if:{{{concejales8|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen8|}}}{{{símbolo8|}}}|{{{imagen8|}}}{{{símbolo8|}}}|{{#ifeq:{{{género8}}}|hombre|Archivo:{{#ifexist:media:{{{color8}}} - replace this image male.svg|{{{color8}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género8}}}|mujer|Archivo:{{#ifexist:media:{{{color8}}} - replace this image female.svg|{{{color8}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color8}}} flag waving.svg|{{{color8}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato8|}}}|'''{{{candidato8|}}}''' –|}} {{#if:{{{partido8|}}}|'''{{{partido8|}}}'''|}}{{#if:{{{líder8|}}}| – '''{{{líder8|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición8|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición8|}}}|{{Lista plegable|título={{{coalición8|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición8|}}}
|2 ={{{partido2_coalición8|}}}
|3 ={{{partido3_coalición8|}}}
|4 ={{{partido4_coalición8|}}}
|5 ={{{partido5_coalición8|}}}
|6 ={{{partido6_coalición8|}}}
|7 ={{{partido7_coalición8|}}}
}}|{{{partido1_coalición8}}}}}|}}
{{!}}-
{{#if:{{{votos8|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos8|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos8_ant|}}}|{{#ifexpr:{{{votos8|1}}}>{{{votos8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos8|1}}}<{{{votos8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos8_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos8|1}}}>{{{votos8_ant|0}}}|({{{votos8|1}}}-{{{votos8_ant|1}}})/{{{votos8_ant|1}}}|({{{votos8_ant}}}-{{{votos8}}})/{{{votos8_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v8|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v8|0}}}}}<small> {{#if:{{{votos8|}}}|{{#ifexpr:{{{votos2v8|1}}}>{{{votos8|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v8|1}}}<{{{votos8|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos8|}}}|{{#expr:100*{{#ifexpr:{{{votos2v8|1}}}>{{{votos8|0}}}|({{{votos2v8|1}}}-{{{votos8|1}}})/{{{votos8|1}}}|({{{votos8}}}-{{{votos2v8}}})/{{{votos8}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral8|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral8|0}}}}}<small> {{#if:{{{voto_electoral8_ant|}}}|{{#ifexpr:{{{voto_electoral8|1}}}>{{{voto_electoral8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral8|1}}}<{{{voto_electoral8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral8_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral8|1}}}>{{{voto_electoral8_ant|0}}}|({{{voto_electoral8|1}}}-{{{voto_electoral8_ant|1}}})/{{{voto_electoral8_ant|1}}}|({{{voto_electoral8_ant}}}-{{{voto_electoral8}}})/{{{voto_electoral8_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v8|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v8|0}}}}}<small> {{#if:{{{voto_electoral8_ant|}}}|{{#ifexpr:{{{voto_electoral0v8|1}}}>{{{voto_electoral8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v8|1}}}<{{{voto_electoral8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral8_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v8|1}}}>{{{voto_electoral8_ant|0}}}|({{{voto_electoral0v8|1}}}-{{{voto_electoral8_ant|1}}})/{{{voto_electoral8_ant|1}}}|({{{voto_electoral8_ant}}}-{{{voto_electoral0v8}}})/{{{voto_electoral8_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños8|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños8|0}}}<small> {{#if:{{{escaños8_ant|}}}|{{#ifexpr:{{{escaños8|1}}}>{{{escaños8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños8|1}}}<{{{escaños8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños8_ant|}}}|{{#expr:{{#ifexpr:{{{escaños8|1}}}>{{{escaños8_ant|0}}}|({{{escaños8|1}}}-{{{escaños8_ant|1}}})|({{{escaños8_ant}}}-{{{escaños8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados8|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados8|0}}}<small> {{#if:{{{delegados8_ant|}}}|{{#ifexpr:{{{delegados8|1}}}>{{{delegados8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados8|1}}}<{{{delegados8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados8_ant|}}}|{{#expr:{{#ifexpr:{{{delegados8|1}}}>{{{delegados8_ant|0}}}|({{{delegados8|1}}}-{{{delegados8_ant|1}}})|({{{delegados8_ant}}}-{{{delegados8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes8|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes8|0}}}<small> {{#if:{{{representantes8_ant|}}}|{{#ifexpr:{{{representantes8|1}}}>{{{representantes8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes8|1}}}<{{{representantes8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes8_ant|}}}|{{#expr:{{#ifexpr:{{{representantes8|1}}}>{{{representantes8_ant|0}}}|({{{representantes8|1}}}-{{{representantes8_ant|1}}})|({{{representantes8_ant}}}-{{{representantes8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores8|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores8|0}}}<small> {{#if:{{{senadores8_ant|}}}|{{#ifexpr:{{{senadores8|1}}}>{{{senadores8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores8|1}}}<{{{senadores8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores8_ant|}}}|{{#expr:{{#ifexpr:{{{senadores8|1}}}>{{{senadores8_ant|0}}}|({{{senadores8|1}}}-{{{senadores8_ant|1}}})|({{{senadores8_ant}}}-{{{senadores8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados8|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados8|0}}}<small> {{#if:{{{diputados8_ant|}}}|{{#ifexpr:{{{diputados8|1}}}>{{{diputados8_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados8|1}}}<{{{diputados8_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados8_ant|}}}|{{#expr:{{#ifexpr:{{{diputados8|1}}}>{{{diputados8_ant|0}}}|({{{diputados8|1}}}-{{{diputados8_ant|1}}})|({{{diputados8_ant}}}-{{{diputados8}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones8|0}}}|}}
{{!}}-
{{#if:{{{prefecturas8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas8|0}}}|}}
{{!}}-
{{#if:{{{alcaldías8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías8|0}}}|}}
{{!}}-
{{#if:{{{concejales8|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales8|0}}}|}}
{{#if:{{{porcentaje8|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color8|}}};width:{{#expr:{{{porcentaje8|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje8|0}}} %{{{ref_porcentaje8|}}}|}}
{{#if:{{{porcentaje2v8|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color8|}}};width:{{#expr:{{{porcentaje2v8|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v8|0}}} %{{{ref_porcentaje2v8|}}}|}}|}}
{{!}}-
<noinclude>Noveno partido</noinclude>
{{#if:{{{candidato9|}}}{{{partido9|}}}{{{líder9|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color9|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición9|}}}|1|0}}+{{#if:{{{porcentaje9|}}}|1|0}}+{{#if:{{{porcentaje2v9|}}}|1|0}}+{{#if:{{{votos9|}}}|1|0}}+{{#if:{{{votos2v9|}}}|1|0}}+{{#if:{{{voto_electoral9|}}}|1|0}}+{{#if:{{{voto_electoral0v9|}}}|1|0}}+{{#if:{{{senadores9|}}}|1|0}}+{{#if:{{{diputados9|}}}|1|0}}+{{#if:{{{escaños9|}}}|1|0}}+{{#if:{{{gobernaciones9|}}}|1|0}}+{{#if:{{{prefecturas9|}}}|1|0}}+{{#if:{{{alcaldías9|}}}|1|0}}+{{#if:{{{concejales9|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen9|}}}{{{símbolo9|}}}|{{{imagen9|}}}{{{símbolo9|}}}|{{#ifeq:{{{género9}}}|hombre|Archivo:{{#ifexist:media:{{{color9}}} - replace this image male.svg|{{{color9}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género9}}}|mujer|Archivo:{{#ifexist:media:{{{color9}}} - replace this image female.svg|{{{color9}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color9}}} flag waving.svg|{{{color9}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato9|}}}|'''{{{candidato9|}}}''' –|}} {{#if:{{{partido9|}}}|'''{{{partido9|}}}'''|}}{{#if:{{{líder9|}}}| – '''{{{líder9|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición9|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición9|}}}|{{Lista plegable|título={{{coalición9|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición9|}}}
|2 ={{{partido2_coalición9|}}}
|3 ={{{partido3_coalición9|}}}
|4 ={{{partido4_coalición9|}}}
|5 ={{{partido5_coalición9|}}}
|6 ={{{partido6_coalición9|}}}
|7 ={{{partido7_coalición9|}}}
}}|{{{partido1_coalición9}}}}}|}}
{{!}}-
{{#if:{{{votos9|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos9|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos9_ant|}}}|{{#ifexpr:{{{votos9|1}}}>{{{votos9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos9|1}}}<{{{votos9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos9_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos9|1}}}>{{{votos9_ant|0}}}|({{{votos9|1}}}-{{{votos9_ant|1}}})/{{{votos9_ant|1}}}|({{{votos9_ant}}}-{{{votos9}}})/{{{votos9_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v9|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v9|0}}}}}<small> {{#if:{{{votos9|}}}|{{#ifexpr:{{{votos2v9|1}}}>{{{votos9|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v9|1}}}<{{{votos9|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos9|}}}|{{#expr:100*{{#ifexpr:{{{votos2v9|1}}}>{{{votos9|0}}}|({{{votos2v9|1}}}-{{{votos9|1}}})/{{{votos9|1}}}|({{{votos9}}}-{{{votos2v9}}})/{{{votos9}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral9|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral9|0}}}}}<small> {{#if:{{{voto_electoral9_ant|}}}|{{#ifexpr:{{{voto_electoral9|1}}}>{{{voto_electoral9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral9|1}}}<{{{voto_electoral9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral9_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral9|1}}}>{{{voto_electoral9_ant|0}}}|({{{voto_electoral9|1}}}-{{{voto_electoral9_ant|1}}})/{{{voto_electoral9_ant|1}}}|({{{voto_electoral9_ant}}}-{{{voto_electoral9}}})/{{{voto_electoral9_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v9|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v9|0}}}}}<small> {{#if:{{{voto_electoral9_ant|}}}|{{#ifexpr:{{{voto_electoral0v9|1}}}>{{{voto_electoral9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v9|1}}}<{{{voto_electoral9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral9_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v9|1}}}>{{{voto_electoral9_ant|0}}}|({{{voto_electoral0v9|1}}}-{{{voto_electoral9_ant|1}}})/{{{voto_electoral9_ant|1}}}|({{{voto_electoral9_ant}}}-{{{voto_electoral0v9}}})/{{{voto_electoral9_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños9|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños9|0}}}<small> {{#if:{{{escaños9_ant|}}}|{{#ifexpr:{{{escaños9|1}}}>{{{escaños9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños9|1}}}<{{{escaños9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños9_ant|}}}|{{#expr:{{#ifexpr:{{{escaños9|1}}}>{{{escaños9_ant|0}}}|({{{escaños9|1}}}-{{{escaños9_ant|1}}})|({{{escaños9_ant}}}-{{{escaños9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados9|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados9|0}}}<small> {{#if:{{{delegados9_ant|}}}|{{#ifexpr:{{{delegados9|1}}}>{{{delegados9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados9|1}}}<{{{delegados9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados9_ant|}}}|{{#expr:{{#ifexpr:{{{delegados9|1}}}>{{{delegados9_ant|0}}}|({{{delegados9|1}}}-{{{delegados9_ant|1}}})|({{{delegados9_ant}}}-{{{delegados9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes9|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes9|0}}}<small> {{#if:{{{representantes9_ant|}}}|{{#ifexpr:{{{representantes9|1}}}>{{{representantes9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes9|1}}}<{{{representantes9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes9_ant|}}}|{{#expr:{{#ifexpr:{{{representantes9|1}}}>{{{representantes9_ant|0}}}|({{{representantes9|1}}}-{{{representantes9_ant|1}}})|({{{representantes9_ant}}}-{{{representantes9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores9|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores9|0}}}<small> {{#if:{{{senadores9_ant|}}}|{{#ifexpr:{{{senadores9|1}}}>{{{senadores9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores9|1}}}<{{{senadores9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores9_ant|}}}|{{#expr:{{#ifexpr:{{{senadores9|1}}}>{{{senadores9_ant|0}}}|({{{senadores9|1}}}-{{{senadores9_ant|1}}})|({{{senadores9_ant}}}-{{{senadores9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados9|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados9|0}}}<small> {{#if:{{{diputados9_ant|}}}|{{#ifexpr:{{{diputados9|1}}}>{{{diputados9_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados9|1}}}<{{{diputados9_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados9_ant|}}}|{{#expr:{{#ifexpr:{{{diputados9|1}}}>{{{diputados9_ant|0}}}|({{{diputados9|1}}}-{{{diputados9_ant|1}}})|({{{diputados9_ant}}}-{{{diputados9}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones9|0}}}|}}
{{!}}-
{{#if:{{{prefecturas9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas9|0}}}|}}
{{!}}-
{{#if:{{{alcaldías9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías9|0}}}|}}
{{!}}-
{{#if:{{{concejales9|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales9|0}}}|}}
{{#if:{{{porcentaje9|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color9|}}};width:{{#expr:{{{porcentaje9|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje9|0}}} %{{{ref_porcentaje9|}}}|}}
{{#if:{{{porcentaje2v9|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color9|}}};width:{{#expr:{{{porcentaje2v9|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v9|0}}} %{{{ref_porcentaje2v9|}}}|}}|}}
{{!}}-
<noinclude>Décimo partido</noinclude>
{{#if:{{{candidato10|}}}{{{partido10|}}}{{{líder10|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color10|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición10|}}}|1|0}}+{{#if:{{{porcentaje10|}}}|1|0}}+{{#if:{{{porcentaje2v10|}}}|1|0}}+{{#if:{{{votos10|}}}|1|0}}+{{#if:{{{votos2v10|}}}|1|0}}+{{#if:{{{voto_electoral10|}}}|1|0}}+{{#if:{{{voto_electoral0v10|}}}|1|0}}+{{#if:{{{senadores10|}}}|1|0}}+{{#if:{{{diputados10|}}}|1|0}}+{{#if:{{{escaños10|}}}|1|0}}+{{#if:{{{gobernaciones10|}}}|1|0}}+{{#if:{{{prefecturas10|}}}|1|0}}+{{#if:{{{alcaldías10|}}}|1|0}}+{{#if:{{{concejales10|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen10|}}}{{{símbolo10|}}}|{{{imagen10|}}}{{{símbolo10|}}}|{{#ifeq:{{{género10}}}|hombre|Archivo:{{#ifexist:media:{{{color10}}} - replace this image male.svg|{{{color10}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género10}}}|mujer|Archivo:{{#ifexist:media:{{{color10}}} - replace this image female.svg|{{{color10}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color10}}} flag waving.svg|{{{color10}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato10|}}}|'''{{{candidato10|}}}''' –|}} {{#if:{{{partido10|}}}|'''{{{partido10|}}}'''|}}{{#if:{{{líder10|}}}| – '''{{{líder10|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición10|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición10|}}}|{{Lista plegable|título={{{coalición10|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición10|}}}
|2 ={{{partido2_coalición10|}}}
|3 ={{{partido3_coalición10|}}}
|4 ={{{partido4_coalición10|}}}
|5 ={{{partido5_coalición10|}}}
|6 ={{{partido6_coalición10|}}}
|7 ={{{partido7_coalición10|}}}
}}|{{{partido1_coalición10}}}}}|}}
{{!}}-
{{#if:{{{votos10|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos10|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos10_ant|}}}|{{#ifexpr:{{{votos10|1}}}>{{{votos10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos10|1}}}<{{{votos10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos10_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos10|1}}}>{{{votos10_ant|0}}}|({{{votos10|1}}}-{{{votos10_ant|1}}})/{{{votos10_ant|1}}}|({{{votos10_ant}}}-{{{votos10}}})/{{{votos10_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v10|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v10|0}}}}}<small> {{#if:{{{votos10|}}}|{{#ifexpr:{{{votos2v10|1}}}>{{{votos10|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v10|1}}}<{{{votos10|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos10|}}}|{{#expr:100*{{#ifexpr:{{{votos2v10|1}}}>{{{votos10|0}}}|({{{votos2v10|1}}}-{{{votos10|1}}})/{{{votos10|1}}}|({{{votos10}}}-{{{votos2v10}}})/{{{votos10}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral10|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral10|0}}}}}<small> {{#if:{{{voto_electoral10_ant|}}}|{{#ifexpr:{{{voto_electoral10|1}}}>{{{voto_electoral10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral10|1}}}<{{{voto_electoral10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral10_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral10|1}}}>{{{voto_electoral10_ant|0}}}|({{{voto_electoral10|1}}}-{{{voto_electoral10_ant|1}}})/{{{voto_electoral10_ant|1}}}|({{{voto_electoral10_ant}}}-{{{voto_electoral10}}})/{{{voto_electoral10_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v10|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v10|0}}}}}<small> {{#if:{{{voto_electoral10_ant|}}}|{{#ifexpr:{{{voto_electoral0v10|1}}}>{{{voto_electoral10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v10|1}}}<{{{voto_electoral10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral10_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v10|1}}}>{{{voto_electoral10_ant|0}}}|({{{voto_electoral0v10|1}}}-{{{voto_electoral10_ant|1}}})/{{{voto_electoral10_ant|1}}}|({{{voto_electoral10_ant}}}-{{{voto_electoral0v10}}})/{{{voto_electoral10_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños10|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños10|0}}}<small> {{#if:{{{escaños10_ant|}}}|{{#ifexpr:{{{escaños10|1}}}>{{{escaños10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños10|1}}}<{{{escaños10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños10_ant|}}}|{{#expr:{{#ifexpr:{{{escaños10|1}}}>{{{escaños10_ant|0}}}|({{{escaños10|1}}}-{{{escaños10_ant|1}}})|({{{escaños10_ant}}}-{{{escaños10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados10|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados10|0}}}<small> {{#if:{{{delegados10_ant|}}}|{{#ifexpr:{{{delegados10|1}}}>{{{delegados10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados10|1}}}<{{{delegados10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados10_ant|}}}|{{#expr:{{#ifexpr:{{{delegados10|1}}}>{{{delegados10_ant|0}}}|({{{delegados10|1}}}-{{{delegados10_ant|1}}})|({{{delegados10_ant}}}-{{{delegados10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes10|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes10|0}}}<small> {{#if:{{{representantes10_ant|}}}|{{#ifexpr:{{{representantes10|1}}}>{{{representantes10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes10|1}}}<{{{representantes10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes10_ant|}}}|{{#expr:{{#ifexpr:{{{representantes10|1}}}>{{{representantes10_ant|0}}}|({{{representantes10|1}}}-{{{representantes10_ant|1}}})|({{{representantes10_ant}}}-{{{representantes10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores10|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores10|0}}}<small> {{#if:{{{senadores10_ant|}}}|{{#ifexpr:{{{senadores10|1}}}>{{{senadores10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores10|1}}}<{{{senadores10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores10_ant|}}}|{{#expr:{{#ifexpr:{{{senadores10|1}}}>{{{senadores10_ant|0}}}|({{{senadores10|1}}}-{{{senadores10_ant|1}}})|({{{senadores10_ant}}}-{{{senadores10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados10|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados10|0}}}<small> {{#if:{{{diputados10_ant|}}}|{{#ifexpr:{{{diputados10|1}}}>{{{diputados10_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados10|1}}}<{{{diputados10_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados10_ant|}}}|{{#expr:{{#ifexpr:{{{diputados10|1}}}>{{{diputados10_ant|0}}}|({{{diputados10|1}}}-{{{diputados10_ant|1}}})|({{{diputados10_ant}}}-{{{diputados10}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones10|0}}}|}}
{{!}}-
{{#if:{{{prefecturas10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas10|0}}}|}}
{{!}}-
{{#if:{{{alcaldías10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías10|0}}}|}}
{{!}}-
{{#if:{{{concejales10|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales10|0}}}|}}
{{#if:{{{porcentaje10|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color10|}}};width:{{#expr:{{{porcentaje10|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje10|0}}} %{{{ref_porcentaje10|}}}|}}
{{#if:{{{porcentaje2v10|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color10|}}};width:{{#expr:{{{porcentaje2v10|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v10|0}}} %{{{ref_porcentaje2v10|}}}|}}|}}
{{!}}-
<noinclude>Undécimo partido</noinclude>
{{#if:{{{candidato11|}}}{{{partido11|}}}{{{líder11|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color11|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición11|}}}|1|0}}+{{#if:{{{porcentaje11|}}}|1|0}}+{{#if:{{{porcentaje2v11|}}}|1|0}}+{{#if:{{{votos11|}}}|1|0}}+{{#if:{{{votos2v11|}}}|1|0}}+{{#if:{{{voto_electoral11|}}}|1|0}}+{{#if:{{{voto_electoral0v11|}}}|1|0}}+{{#if:{{{senadores11|}}}|1|0}}+{{#if:{{{diputados11|}}}|1|0}}+{{#if:{{{escaños11|}}}|1|0}}+{{#if:{{{gobernaciones11|}}}|1|0}}+{{#if:{{{prefecturas11|}}}|1|0}}+{{#if:{{{alcaldías11|}}}|1|0}}+{{#if:{{{concejales11|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen11|}}}{{{símbolo11|}}}|{{{imagen11|}}}{{{símbolo11|}}}|{{#ifeq:{{{género11}}}|hombre|Archivo:{{#ifexist:media:{{{color11}}} - replace this image male.svg|{{{color11}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género11}}}|mujer|Archivo:{{#ifexist:media:{{{color11}}} - replace this image female.svg|{{{color11}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color11}}} flag waving.svg|{{{color11}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato11|}}}|'''{{{candidato11|}}}''' –|}} {{#if:{{{partido11|}}}|'''{{{partido11|}}}'''|}}{{#if:{{{líder11|}}}| – '''{{{líder11|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición11|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición11|}}}|{{Lista plegable|título={{{coalición11|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición11|}}}
|2 ={{{partido2_coalición11|}}}
|3 ={{{partido3_coalición11|}}}
|4 ={{{partido4_coalición11|}}}
|5 ={{{partido5_coalición11|}}}
|6 ={{{partido6_coalición11|}}}
|7 ={{{partido7_coalición11|}}}
}}|{{{partido1_coalición11}}}}}|}}
{{!}}-
{{#if:{{{votos11|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos11|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos11_ant|}}}|{{#ifexpr:{{{votos11|1}}}>{{{votos11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos11|1}}}<{{{votos11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos11_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos11|1}}}>{{{votos11_ant|0}}}|({{{votos11|1}}}-{{{votos11_ant|1}}})/{{{votos11_ant|1}}}|({{{votos11_ant}}}-{{{votos11}}})/{{{votos11_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v11|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v11|0}}}}}<small> {{#if:{{{votos11|}}}|{{#ifexpr:{{{votos2v11|1}}}>{{{votos11|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v11|1}}}<{{{votos11|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos11|}}}|{{#expr:100*{{#ifexpr:{{{votos2v11|1}}}>{{{votos11|0}}}|({{{votos2v11|1}}}-{{{votos11|1}}})/{{{votos11|1}}}|({{{votos11}}}-{{{votos2v11}}})/{{{votos11}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral11|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral11|0}}}}}<small> {{#if:{{{voto_electoral11_ant|}}}|{{#ifexpr:{{{voto_electoral11|1}}}>{{{voto_electoral11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral11|1}}}<{{{voto_electoral11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral11_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral11|1}}}>{{{voto_electoral11_ant|0}}}|({{{voto_electoral11|1}}}-{{{voto_electoral11_ant|1}}})/{{{voto_electoral11_ant|1}}}|({{{voto_electoral11_ant}}}-{{{voto_electoral11}}})/{{{voto_electoral11_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v11|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v11|0}}}}}<small> {{#if:{{{voto_electoral11_ant|}}}|{{#ifexpr:{{{voto_electoral0v11|1}}}>{{{voto_electoral11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v11|1}}}<{{{voto_electoral11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral11_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v11|1}}}>{{{voto_electoral11_ant|0}}}|({{{voto_electoral0v11|1}}}-{{{voto_electoral11_ant|1}}})/{{{voto_electoral11_ant|1}}}|({{{voto_electoral11_ant}}}-{{{voto_electoral0v11}}})/{{{voto_electoral11_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños11|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños11|0}}}<small> {{#if:{{{escaños11_ant|}}}|{{#ifexpr:{{{escaños11|1}}}>{{{escaños11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños11|1}}}<{{{escaños11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños11_ant|}}}|{{#expr:{{#ifexpr:{{{escaños11|1}}}>{{{escaños11_ant|0}}}|({{{escaños11|1}}}-{{{escaños11_ant|1}}})|({{{escaños11_ant}}}-{{{escaños11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados11|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados11|0}}}<small> {{#if:{{{delegados11_ant|}}}|{{#ifexpr:{{{delegados11|1}}}>{{{delegados11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados11|1}}}<{{{delegados11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados11_ant|}}}|{{#expr:{{#ifexpr:{{{delegados11|1}}}>{{{delegados11_ant|0}}}|({{{delegados11|1}}}-{{{delegados11_ant|1}}})|({{{delegados11_ant}}}-{{{delegados11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes11|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes11|0}}}<small> {{#if:{{{representantes11_ant|}}}|{{#ifexpr:{{{representantes11|1}}}>{{{representantes11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes11|1}}}<{{{representantes11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes11_ant|}}}|{{#expr:{{#ifexpr:{{{representantes11|1}}}>{{{representantes11_ant|0}}}|({{{representantes11|1}}}-{{{representantes11_ant|1}}})|({{{representantes11_ant}}}-{{{representantes11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores11|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores11|0}}}<small> {{#if:{{{senadores11_ant|}}}|{{#ifexpr:{{{senadores11|1}}}>{{{senadores11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores11|1}}}<{{{senadores11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores11_ant|}}}|{{#expr:{{#ifexpr:{{{senadores11|1}}}>{{{senadores11_ant|0}}}|({{{senadores11|1}}}-{{{senadores11_ant|1}}})|({{{senadores11_ant}}}-{{{senadores11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados11|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados11|0}}}<small> {{#if:{{{diputados11_ant|}}}|{{#ifexpr:{{{diputados11|1}}}>{{{diputados11_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados11|1}}}<{{{diputados11_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados11_ant|}}}|{{#expr:{{#ifexpr:{{{diputados11|1}}}>{{{diputados11_ant|0}}}|({{{diputados11|1}}}-{{{diputados11_ant|1}}})|({{{diputados11_ant}}}-{{{diputados11}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones11|0}}}|}}
{{!}}-
{{#if:{{{prefecturas11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas11|0}}}|}}
{{!}}-
{{#if:{{{alcaldías11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías11|0}}}|}}
{{!}}-
{{#if:{{{concejales11|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales11|0}}}|}}
{{#if:{{{porcentaje11|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color11|}}};width:{{#expr:{{{porcentaje11|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje11|0}}} %{{{ref_porcentaje11|}}}|}}
{{#if:{{{porcentaje2v11|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color11|}}};width:{{#expr:{{{porcentaje2v11|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v11|0}}} %{{{ref_porcentaje2v11|}}}|}}|}}
{{!}}-
<noinclude>Duodécimo partido</noinclude>
{{#if:{{{candidato12|}}}{{{partido12|}}}{{{líder12|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color12|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición12|}}}|1|0}}+{{#if:{{{porcentaje12|}}}|1|0}}+{{#if:{{{porcentaje2v12|}}}|1|0}}+{{#if:{{{votos12|}}}|1|0}}+{{#if:{{{votos2v12|}}}|1|0}}+{{#if:{{{voto_electoral12|}}}|1|0}}+{{#if:{{{voto_electoral2v2|}}}|1|0}}+{{#if:{{{senadores12|}}}|1|0}}+{{#if:{{{diputados12|}}}|1|0}}+{{#if:{{{escaños12|}}}|1|0}}+{{#if:{{{gobernaciones12|}}}|1|0}}+{{#if:{{{prefecturas12|}}}|1|0}}+{{#if:{{{alcaldías12|}}}|1|0}}+{{#if:{{{concejales12|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen12|}}}{{{símbolo12|}}}|{{{imagen12|}}}{{{símbolo12|}}}|{{#ifeq:{{{género12}}}|hombre|Archivo:{{#ifexist:media:{{{color12}}} - replace this image male.svg|{{{color12}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género12}}}|mujer|Archivo:{{#ifexist:media:{{{color12}}} - replace this image female.svg|{{{color12}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color12}}} flag waving.svg|{{{color12}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato12|}}}|'''{{{candidato12|}}}''' –|}} {{#if:{{{partido12|}}}|'''{{{partido12|}}}'''|}}{{#if:{{{líder12|}}}| – '''{{{líder12|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición12|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición12|}}}|{{Lista plegable|título={{{coalición12|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición12|}}}
|2 ={{{partido2_coalición12|}}}
|3 ={{{partido3_coalición12|}}}
|4 ={{{partido4_coalición12|}}}
|5 ={{{partido5_coalición12|}}}
|6 ={{{partido6_coalición12|}}}
|7 ={{{partido7_coalición12|}}}
}}|{{{partido1_coalición12}}}}}|}}
{{!}}-
{{#if:{{{votos12|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos12|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos12_ant|}}}|{{#ifexpr:{{{votos12|1}}}>{{{votos12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos12|1}}}<{{{votos12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos12_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos12|1}}}>{{{votos12_ant|0}}}|({{{votos12|1}}}-{{{votos12_ant|1}}})/{{{votos12_ant|1}}}|({{{votos12_ant}}}-{{{votos12}}})/{{{votos12_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v12|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v12|0}}}}}<small> {{#if:{{{votos12|}}}|{{#ifexpr:{{{votos2v12|1}}}>{{{votos12|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v12|1}}}<{{{votos12|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos12|}}}|{{#expr:100*{{#ifexpr:{{{votos2v12|1}}}>{{{votos12|0}}}|({{{votos2v12|1}}}-{{{votos12|1}}})/{{{votos12|1}}}|({{{votos12}}}-{{{votos2v12}}})/{{{votos12}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral12|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral12|0}}}}}<small> {{#if:{{{voto_electoral12_ant|}}}|{{#ifexpr:{{{voto_electoral12|1}}}>{{{voto_electoral12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral12|1}}}<{{{voto_electoral12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral12_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral12|1}}}>{{{voto_electoral12_ant|0}}}|({{{voto_electoral12|1}}}-{{{voto_electoral12_ant|1}}})/{{{voto_electoral12_ant|1}}}|({{{voto_electoral12_ant}}}-{{{voto_electoral12}}})/{{{voto_electoral12_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v12|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v12|0}}}}}<small> {{#if:{{{voto_electoral12_ant|}}}|{{#ifexpr:{{{voto_electoral0v12|1}}}>{{{voto_electoral12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v12|1}}}<{{{voto_electoral12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral12_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v12|1}}}>{{{voto_electoral12_ant|0}}}|({{{voto_electoral0v12|1}}}-{{{voto_electoral12_ant|1}}})/{{{voto_electoral12_ant|1}}}|({{{voto_electoral12_ant}}}-{{{voto_electoral0v12}}})/{{{voto_electoral12_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños12|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños12|0}}}<small> {{#if:{{{escaños12_ant|}}}|{{#ifexpr:{{{escaños12|1}}}>{{{escaños12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños12|1}}}<{{{escaños12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños12_ant|}}}|{{#expr:{{#ifexpr:{{{escaños12|1}}}>{{{escaños12_ant|0}}}|({{{escaños12|1}}}-{{{escaños12_ant|1}}})|({{{escaños12_ant}}}-{{{escaños12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados12|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados12|0}}}<small> {{#if:{{{delegados12_ant|}}}|{{#ifexpr:{{{delegados12|1}}}>{{{delegados12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados12|1}}}<{{{delegados12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados12_ant|}}}|{{#expr:{{#ifexpr:{{{delegados12|1}}}>{{{delegados12_ant|0}}}|({{{delegados12|1}}}-{{{delegados12_ant|1}}})|({{{delegados12_ant}}}-{{{delegados12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes12|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes12|0}}}<small> {{#if:{{{representantes12_ant|}}}|{{#ifexpr:{{{representantes12|1}}}>{{{representantes12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes12|1}}}<{{{representantes12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes12_ant|}}}|{{#expr:{{#ifexpr:{{{representantes12|1}}}>{{{representantes12_ant|0}}}|({{{representantes12|1}}}-{{{representantes12_ant|1}}})|({{{representantes12_ant}}}-{{{representantes12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores12|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores12|0}}}<small> {{#if:{{{senadores12_ant|}}}|{{#ifexpr:{{{senadores12|1}}}>{{{senadores12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores12|1}}}<{{{senadores12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores12_ant|}}}|{{#expr:{{#ifexpr:{{{senadores12|1}}}>{{{senadores12_ant|0}}}|({{{senadores12|1}}}-{{{senadores12_ant|1}}})|({{{senadores12_ant}}}-{{{senadores12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados12|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados12|0}}}<small> {{#if:{{{diputados12_ant|}}}|{{#ifexpr:{{{diputados12|1}}}>{{{diputados12_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados12|1}}}<{{{diputados12_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados12_ant|}}}|{{#expr:{{#ifexpr:{{{diputados12|1}}}>{{{diputados12_ant|0}}}|({{{diputados12|1}}}-{{{diputados12_ant|1}}})|({{{diputados12_ant}}}-{{{diputados12}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones12|0}}}|}}
{{!}}-
{{#if:{{{prefecturas12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas12|0}}}|}}
{{!}}-
{{#if:{{{alcaldías12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías12|0}}}|}}
{{!}}-
{{#if:{{{concejales12|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales12|0}}}|}}
{{#if:{{{porcentaje12|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color12|}}};width:{{#expr:{{{porcentaje12|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje12|0}}} %{{{ref_porcentaje12|}}}|}}
{{#if:{{{porcentaje2v12|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color12|}}};width:{{#expr:{{{porcentaje2v12|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v12|0}}} %{{{ref_porcentaje2v12|}}}|}}|}}
{{!}}-
<noinclude>Decimotercero partido</noinclude>
{{#if:{{{candidato13|}}}{{{partido13|}}}{{{líder13|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color13|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición13|}}}|1|0}}+{{#if:{{{porcentaje13|}}}|1|0}}+{{#if:{{{porcentaje2v13|}}}|1|0}}+{{#if:{{{votos13|}}}|1|0}}+{{#if:{{{votos2v13|}}}|1|0}}+{{#if:{{{voto_electoral13|}}}|1|0}}+{{#if:{{{voto_electoral0v13|}}}|1|0}}+{{#if:{{{senadores13|}}}|1|0}}+{{#if:{{{diputados13|}}}|1|0}}+{{#if:{{{escaños13|}}}|1|0}}+{{#if:{{{gobernaciones13|}}}|1|0}}+{{#if:{{{prefecturas13|}}}|1|0}}+{{#if:{{{alcaldías13|}}}|1|0}}+{{#if:{{{concejales13|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen13|}}}{{{símbolo13|}}}|{{{imagen13|}}}{{{símbolo13|}}}|{{#ifeq:{{{género13}}}|hombre|Archivo:{{#ifexist:media:{{{color13}}} - replace this image male.svg|{{{color13}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género13}}}|mujer|Archivo:{{#ifexist:media:{{{color13}}} - replace this image female.svg|{{{color13}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color13}}} flag waving.svg|{{{color13}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato13|}}}|'''{{{candidato13|}}}''' –|}} {{#if:{{{partido13|}}}|'''{{{partido13|}}}'''|}}{{#if:{{{líder13|}}}| – '''{{{líder13|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición13|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición13|}}}|{{Lista plegable|título={{{coalición13|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición13|}}}
|2 ={{{partido2_coalición13|}}}
|3 ={{{partido3_coalición13|}}}
|4 ={{{partido4_coalición13|}}}
|5 ={{{partido5_coalición13|}}}
|6 ={{{partido6_coalición13|}}}
|7 ={{{partido7_coalición13|}}}
}}|{{{partido1_coalición13}}}}}|}}
{{!}}-
{{#if:{{{votos13|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos13|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos13_ant|}}}|{{#ifexpr:{{{votos13|1}}}>{{{votos13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos13|1}}}<{{{votos13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos13_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos13|1}}}>{{{votos13_ant|0}}}|({{{votos13|1}}}-{{{votos13_ant|1}}})/{{{votos13_ant|1}}}|({{{votos13_ant}}}-{{{votos13}}})/{{{votos13_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v13|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v13|0}}}}}<small> {{#if:{{{votos13|}}}|{{#ifexpr:{{{votos2v13|1}}}>{{{votos13|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v13|1}}}<{{{votos13|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos13|}}}|{{#expr:100*{{#ifexpr:{{{votos2v13|1}}}>{{{votos13|0}}}|({{{votos2v13|1}}}-{{{votos13|1}}})/{{{votos13|1}}}|({{{votos13}}}-{{{votos2v13}}})/{{{votos13}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral13|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral13|0}}}}}<small> {{#if:{{{voto_electoral13_ant|}}}|{{#ifexpr:{{{voto_electoral13|1}}}>{{{voto_electoral13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral13|1}}}<{{{voto_electoral13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral13_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral13|1}}}>{{{voto_electoral13_ant|0}}}|({{{voto_electoral13|1}}}-{{{voto_electoral13_ant|1}}})/{{{voto_electoral13_ant|1}}}|({{{voto_electoral13_ant}}}-{{{voto_electoral13}}})/{{{voto_electoral13_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v13|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v13|0}}}}}<small> {{#if:{{{voto_electoral13_ant|}}}|{{#ifexpr:{{{voto_electoral0v13|1}}}>{{{voto_electoral13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v13|1}}}<{{{voto_electoral13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral13_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v13|1}}}>{{{voto_electoral13_ant|0}}}|({{{voto_electoral0v13|1}}}-{{{voto_electoral13_ant|1}}})/{{{voto_electoral13_ant|1}}}|({{{voto_electoral13_ant}}}-{{{voto_electoral0v13}}})/{{{voto_electoral13_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños13|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños13|0}}}<small> {{#if:{{{escaños13_ant|}}}|{{#ifexpr:{{{escaños13|1}}}>{{{escaños13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños13|1}}}<{{{escaños13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños13_ant|}}}|{{#expr:{{#ifexpr:{{{escaños13|1}}}>{{{escaños13_ant|0}}}|({{{escaños13|1}}}-{{{escaños13_ant|1}}})|({{{escaños13_ant}}}-{{{escaños13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados13|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados13|0}}}<small> {{#if:{{{delegados13_ant|}}}|{{#ifexpr:{{{delegados13|1}}}>{{{delegados13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados13|1}}}<{{{delegados13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados13_ant|}}}|{{#expr:{{#ifexpr:{{{delegados13|1}}}>{{{delegados13_ant|0}}}|({{{delegados13|1}}}-{{{delegados13_ant|1}}})|({{{delegados13_ant}}}-{{{delegados13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes13|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes13|0}}}<small> {{#if:{{{representantes13_ant|}}}|{{#ifexpr:{{{representantes13|1}}}>{{{representantes13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes13|1}}}<{{{representantes13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes13_ant|}}}|{{#expr:{{#ifexpr:{{{representantes13|1}}}>{{{representantes13_ant|0}}}|({{{representantes13|1}}}-{{{representantes13_ant|1}}})|({{{representantes13_ant}}}-{{{representantes13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores13|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores13|0}}}<small> {{#if:{{{senadores13_ant|}}}|{{#ifexpr:{{{senadores13|1}}}>{{{senadores13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores13|1}}}<{{{senadores13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores13_ant|}}}|{{#expr:{{#ifexpr:{{{senadores13|1}}}>{{{senadores13_ant|0}}}|({{{senadores13|1}}}-{{{senadores13_ant|1}}})|({{{senadores13_ant}}}-{{{senadores13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados13|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados13|0}}}<small> {{#if:{{{diputados13_ant|}}}|{{#ifexpr:{{{diputados13|1}}}>{{{diputados13_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados13|1}}}<{{{diputados13_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados13_ant|}}}|{{#expr:{{#ifexpr:{{{diputados13|1}}}>{{{diputados13_ant|0}}}|({{{diputados13|1}}}-{{{diputados13_ant|1}}})|({{{diputados13_ant}}}-{{{diputados13}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones13|0}}}|}}
{{!}}-
{{#if:{{{prefecturas13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas13|0}}}|}}
{{!}}-
{{#if:{{{alcaldías13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías13|0}}}|}}
{{!}}-
{{#if:{{{concejales13|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales13|0}}}|}}
{{#if:{{{porcentaje13|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color13|}}};width:{{#expr:{{{porcentaje13|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje13|0}}} %{{{ref_porcentaje13|}}}|}}
{{#if:{{{porcentaje2v13|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color13|}}};width:{{#expr:{{{porcentaje2v13|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v13|0}}} %{{{ref_porcentaje2v13|}}}|}}|}}
{{!}}-
<noinclude>Decimocuarto partido</noinclude>
{{#if:{{{candidato14|}}}{{{partido14|}}}{{{líder14|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color14|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición14|}}}|1|0}}+{{#if:{{{porcentaje14|}}}|1|0}}+{{#if:{{{porcentaje2v14|}}}|1|0}}+{{#if:{{{votos14|}}}|1|0}}+{{#if:{{{votos2v14|}}}|1|0}}+{{#if:{{{voto_electoral14|}}}|1|0}}+{{#if:{{{voto_electoral0v14|}}}|1|0}}+{{#if:{{{senadores14|}}}|1|0}}+{{#if:{{{diputados14|}}}|1|0}}+{{#if:{{{escaños14|}}}|1|0}}+{{#if:{{{gobernaciones14|}}}|1|0}}+{{#if:{{{prefecturas14|}}}|1|0}}+{{#if:{{{alcaldías14|}}}|1|0}}+{{#if:{{{concejales14|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen14|}}}{{{símbolo14|}}}|{{{imagen14|}}}{{{símbolo14|}}}|{{#ifeq:{{{género14}}}|hombre|Archivo:{{#ifexist:media:{{{color14}}} - replace this image male.svg|{{{color14}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género14}}}|mujer|Archivo:{{#ifexist:media:{{{color14}}} - replace this image female.svg|{{{color14}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color14}}} flag waving.svg|{{{color14}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato14|}}}|'''{{{candidato14|}}}''' –|}} {{#if:{{{partido14|}}}|'''{{{partido14|}}}'''|}}{{#if:{{{líder14|}}}| – '''{{{líder14|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición14|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición14|}}}|{{Lista plegable|título={{{coalición14|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición14|}}}
|2 ={{{partido2_coalición14|}}}
|3 ={{{partido3_coalición14|}}}
|4 ={{{partido4_coalición14|}}}
|5 ={{{partido5_coalición14|}}}
|6 ={{{partido6_coalición14|}}}
|7 ={{{partido7_coalición14|}}}
}}|{{{partido1_coalición14}}}}}|}}
{{!}}-
{{#if:{{{votos14|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos14|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos14_ant|}}}|{{#ifexpr:{{{votos14|1}}}>{{{votos14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos14|1}}}<{{{votos14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos14_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos14|1}}}>{{{votos14_ant|0}}}|({{{votos14|1}}}-{{{votos14_ant|1}}})/{{{votos14_ant|1}}}|({{{votos14_ant}}}-{{{votos14}}})/{{{votos14_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v14|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v14|0}}}}}<small> {{#if:{{{votos14|}}}|{{#ifexpr:{{{votos2v14|1}}}>{{{votos14|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v14|1}}}<{{{votos14|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos14|}}}|{{#expr:100*{{#ifexpr:{{{votos2v14|1}}}>{{{votos14|0}}}|({{{votos2v14|1}}}-{{{votos14|1}}})/{{{votos14|1}}}|({{{votos14}}}-{{{votos2v14}}})/{{{votos14}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral14|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral14|0}}}}}<small> {{#if:{{{voto_electoral14_ant|}}}|{{#ifexpr:{{{voto_electoral14|1}}}>{{{voto_electoral14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral14|1}}}<{{{voto_electoral14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral14_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral14|1}}}>{{{voto_electoral14_ant|0}}}|({{{voto_electoral14|1}}}-{{{voto_electoral14_ant|1}}})/{{{voto_electoral14_ant|1}}}|({{{voto_electoral14_ant}}}-{{{voto_electoral14}}})/{{{voto_electoral14_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v14|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v14|0}}}}}<small> {{#if:{{{voto_electoral14_ant|}}}|{{#ifexpr:{{{voto_electoral0v14|1}}}>{{{voto_electoral14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v14|1}}}<{{{voto_electoral14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral14_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v14|1}}}>{{{voto_electoral14_ant|0}}}|({{{voto_electoral0v14|1}}}-{{{voto_electoral14_ant|1}}})/{{{voto_electoral14_ant|1}}}|({{{voto_electoral14_ant}}}-{{{voto_electoral0v14}}})/{{{voto_electoral14_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños14|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños14|0}}}<small> {{#if:{{{escaños14_ant|}}}|{{#ifexpr:{{{escaños14|1}}}>{{{escaños14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños14|1}}}<{{{escaños14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños14_ant|}}}|{{#expr:{{#ifexpr:{{{escaños14|1}}}>{{{escaños14_ant|0}}}|({{{escaños14|1}}}-{{{escaños14_ant|1}}})|({{{escaños14_ant}}}-{{{escaños14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados14|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados14|0}}}<small> {{#if:{{{delegados14_ant|}}}|{{#ifexpr:{{{delegados14|1}}}>{{{delegados14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados14|1}}}<{{{delegados14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados14_ant|}}}|{{#expr:{{#ifexpr:{{{delegados14|1}}}>{{{delegados14_ant|0}}}|({{{delegados14|1}}}-{{{delegados14_ant|1}}})|({{{delegados14_ant}}}-{{{delegados14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes14|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes14|0}}}<small> {{#if:{{{representantes14_ant|}}}|{{#ifexpr:{{{representantes14|1}}}>{{{representantes14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes14|1}}}<{{{representantes14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes14_ant|}}}|{{#expr:{{#ifexpr:{{{representantes14|1}}}>{{{representantes14_ant|0}}}|({{{representantes14|1}}}-{{{representantes14_ant|1}}})|({{{representantes14_ant}}}-{{{representantes14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores14|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores14|0}}}<small> {{#if:{{{senadores14_ant|}}}|{{#ifexpr:{{{senadores14|1}}}>{{{senadores14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores14|1}}}<{{{senadores14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores14_ant|}}}|{{#expr:{{#ifexpr:{{{senadores14|1}}}>{{{senadores14_ant|0}}}|({{{senadores14|1}}}-{{{senadores14_ant|1}}})|({{{senadores14_ant}}}-{{{senadores14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados14|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados14|0}}}<small> {{#if:{{{diputados14_ant|}}}|{{#ifexpr:{{{diputados14|1}}}>{{{diputados14_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados14|1}}}<{{{diputados14_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados14_ant|}}}|{{#expr:{{#ifexpr:{{{diputados14|1}}}>{{{diputados14_ant|0}}}|({{{diputados14|1}}}-{{{diputados14_ant|1}}})|({{{diputados14_ant}}}-{{{diputados14}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones14|0}}}|}}
{{!}}-
{{#if:{{{prefecturas14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas14|0}}}|}}
{{!}}-
{{#if:{{{alcaldías14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías14|0}}}|}}
{{!}}-
{{#if:{{{concejales14|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales14|0}}}|}}
{{#if:{{{porcentaje14|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color14|}}};width:{{#expr:{{{porcentaje14|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje14|0}}} %{{{ref_porcentaje14|}}}|}}
{{#if:{{{porcentaje2v14|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color14|}}};width:{{#expr:{{{porcentaje2v14|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v14|0}}} %{{{ref_porcentaje2v14|}}}|}}|}}
{{!}}-
<noinclude>Decimoquinto partido</noinclude>
{{#if:{{{candidato15|}}}{{{partido15|}}}{{{líder15|}}}|
{{!}}-
{{!}} colspan="12" {{!}} <div style="background:{{{color15|}}}; width:{{#expr:{{{ancho|45}}}*6}}px; height:5px;"></div>
{{!}}-
{{!}} colspan="3" rowspan="{{#expr:1+{{#if:{{{partido1_coalición15|}}}|1|0}}+{{#if:{{{porcentaje15|}}}|1|0}}+{{#if:{{{porcentaje2v15|}}}|1|0}}+{{#if:{{{votos15|}}}|1|0}}+{{#if:{{{votos2v15|}}}|1|0}}+{{#if:{{{voto_electoral15|}}}|1|0}}+{{#if:{{{voto_electoral0v15|}}}|1|0}}+{{#if:{{{senadores15|}}}|1|0}}+{{#if:{{{diputados15|}}}|1|0}}+{{#if:{{{escaños15|}}}|1|0}}+{{#if:{{{gobernaciones15|}}}|1|0}}+{{#if:{{{prefecturas15|}}}|1|0}}+{{#if:{{{alcaldías15|}}}|1|0}}+{{#if:{{{concejales15|}}}|1|0}}}}" style="align:center; vertical-align:bottom;" {{!}} [[{{#if:{{{imagen15|}}}{{{símbolo15|}}}|{{{imagen15|}}}{{{símbolo15|}}}|{{#ifeq:{{{género15}}}|hombre|Archivo:{{#ifexist:media:{{{color15}}} - replace this image male.svg|{{{color15}}}|Silver}} - replace this image male.svg|{{#ifeq:{{{género15}}}|mujer|Archivo:{{#ifexist:media:{{{color15}}} - replace this image female.svg|{{{color15}}}|Silver}} - replace this image female.svg|Archivo:{{#ifexist:media:{{{color15}}} flag waving.svg|{{{color15}}} flag waving.svg|No flag.svg}}}}}}}}{{!}}{{{ancho|45}}}px|center]]
{{!}} colspan="9" {{!}}{{#if:{{{candidato15|}}}|'''{{{candidato15|}}}''' –|}} {{#if:{{{partido15|}}}|'''{{{partido15|}}}'''|}}{{#if:{{{líder15|}}}| – '''{{{líder15|}}}'''|}}
{{!}}-
{{#if:{{{partido1_coalición15|}}}|
{{!}} colspan="9" {{!}}{{#if:{{{partido2_coalición15|}}}|{{Lista plegable|título={{{coalición15|Coalición}}}|viñetas=true
|1 ={{{partido1_coalición15|}}}
|2 ={{{partido2_coalición15|}}}
|3 ={{{partido3_coalición15|}}}
|4 ={{{partido4_coalición15|}}}
|5 ={{{partido5_coalición15|}}}
|6 ={{{partido6_coalición15|}}}
|7 ={{{partido7_coalición15|}}}
}}|{{{partido1_coalición15}}}}}|}}
{{!}}-
{{#if:{{{votos15|}}}|
{{!}} colspan="{{#if:{{{votos2v1|}}}|6|3}}" {{!}}Votos{{#if:{{{votos2v1|}}}| 1.ª vuelta|}}
{{!}} colspan="{{#if:{{{votos2v1|}}}|3|6}}" style="text-align:right;"{{!}}{{formatnum:{{{votos15|0}}}}}{{#if:{{{votos2v1|}}}||<small> {{#if:{{{votos15_ant|}}}|{{#ifexpr:{{{votos15|1}}}>{{{votos15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos15|1}}}<{{{votos15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos15_ant|}}}|{{#expr:100*{{#ifexpr:{{{votos15|1}}}>{{{votos15_ant|0}}}|({{{votos15|1}}}-{{{votos15_ant|1}}})/{{{votos15_ant|1}}}|({{{votos15_ant}}}-{{{votos15}}})/{{{votos15_ant}}}}} round 1}} %|}}</small>|}}}}
{{!}}-
{{#if:{{{votos2v15|}}}|
{{!}} colspan="3" {{!}}Votos 2.ª vuelta
{{!}} colspan="6" style="text-align:right;"{{!}}{{formatnum:{{{votos2v15|0}}}}}<small> {{#if:{{{votos15|}}}|{{#ifexpr:{{{votos2v15|1}}}>{{{votos15|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{votos2v15|1}}}<{{{votos15|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{votos15|}}}|{{#expr:100*{{#ifexpr:{{{votos2v15|1}}}>{{{votos15|0}}}|({{{votos2v15|1}}}-{{{votos15|1}}})/{{{votos15|1}}}|({{{votos15}}}-{{{votos2v15}}})/{{{votos15}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral15|}}}|
{{!}} colspan="5" {{!}}Votos electorales
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral15|0}}}}}<small> {{#if:{{{voto_electoral15_ant|}}}|{{#ifexpr:{{{voto_electoral15|1}}}>{{{voto_electoral15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral15|1}}}<{{{voto_electoral15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral15_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral15|1}}}>{{{voto_electoral15_ant|0}}}|({{{voto_electoral15|1}}}-{{{voto_electoral15_ant|1}}})/{{{voto_electoral15_ant|1}}}|({{{voto_electoral15_ant}}}-{{{voto_electoral15}}})/{{{voto_electoral15_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{voto_electoral0v15|}}}|
{{!}} colspan="5" {{!}}Electores previstos
{{!}} colspan="4" style="text-align:right;"{{!}}{{formatnum:{{{voto_electoral0v15|0}}}}}<small> {{#if:{{{voto_electoral15_ant|}}}|{{#ifexpr:{{{voto_electoral0v15|1}}}>{{{voto_electoral15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{voto_electoral0v15|1}}}<{{{voto_electoral15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{voto_electoral15_ant|}}}|{{#expr:100*{{#ifexpr:{{{voto_electoral0v15|1}}}>{{{voto_electoral15_ant|0}}}|({{{voto_electoral0v15|1}}}-{{{voto_electoral15_ant|1}}})/{{{voto_electoral15_ant|1}}}|({{{voto_electoral15_ant}}}-{{{voto_electoral0v15}}})/{{{voto_electoral15_ant}}}}} round 1}} %|}}</small>|}}
{{!}}-
{{#if:{{{escaños15|}}}|
{{!}} colspan="6" {{!}}Escaños obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{escaños15|0}}}<small> {{#if:{{{escaños15_ant|}}}|{{#ifexpr:{{{escaños15|1}}}>{{{escaños15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{escaños15|1}}}<{{{escaños15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{escaños15_ant|}}}|{{#expr:{{#ifexpr:{{{escaños15|1}}}>{{{escaños15_ant|0}}}|({{{escaños15|1}}}-{{{escaños15_ant|1}}})|({{{escaños15_ant}}}-{{{escaños15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{delegados15|}}}|
{{!}} colspan="6" {{!}}Delegados obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{delegados15|0}}}<small> {{#if:{{{delegados15_ant|}}}|{{#ifexpr:{{{delegados15|1}}}>{{{delegados15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{delegados15|1}}}<{{{delegados15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{delegados15_ant|}}}|{{#expr:{{#ifexpr:{{{delegados15|1}}}>{{{delegados15_ant|0}}}|({{{delegados15|1}}}-{{{delegados15_ant|1}}})|({{{delegados15_ant}}}-{{{delegados15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{representantes15|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Representantes}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{representantes15|0}}}<small> {{#if:{{{representantes15_ant|}}}|{{#ifexpr:{{{representantes15|1}}}>{{{representantes15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{representantes15|1}}}<{{{representantes15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{representantes15_ant|}}}|{{#expr:{{#ifexpr:{{{representantes15|1}}}>{{{representantes15_ant|0}}}|({{{representantes15|1}}}-{{{representantes15_ant|1}}})|({{{representantes15_ant}}}-{{{representantes15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{senadores15|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_alta|Senadores}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{senadores15|0}}}<small> {{#if:{{{senadores15_ant|}}}|{{#ifexpr:{{{senadores15|1}}}>{{{senadores15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{senadores15|1}}}<{{{senadores15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{senadores15_ant|}}}|{{#expr:{{#ifexpr:{{{senadores15|1}}}>{{{senadores15_ant|0}}}|({{{senadores15|1}}}-{{{senadores15_ant|1}}})|({{{senadores15_ant}}}-{{{senadores15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{diputados15|}}}|
{{!}} colspan="6" {{!}}{{{parlamentario_baja|Diputados}}} obtenidos
{{!}} colspan="3" style="text-align:right;"{{!}}{{{diputados15|0}}}<small> {{#if:{{{diputados15_ant|}}}|{{#ifexpr:{{{diputados15|1}}}>{{{diputados15_ant|0}}}|[[Archivo:Green Arrow Up.svg{{!}}8px{{!}}link=]]|{{#ifexpr:{{{diputados15|1}}}<{{{diputados15_ant|0}}}|[[Archivo:Red Arrow Down.svg{{!}}8px{{!}}link=]]|[[Archivo:Gray Rectangle Tiny.svg{{!}}8px{{!}}link=]]}}}}|}} {{#if:{{{diputados15_ant|}}}|{{#expr:{{#ifexpr:{{{diputados15|1}}}>{{{diputados15_ant|0}}}|({{{diputados15|1}}}-{{{diputados15_ant|1}}})|({{{diputados15_ant}}}-{{{diputados15}}})}} round 1}}|}}</small>|}}
{{!}}-
{{#if:{{{gobernaciones15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Gobernaciones}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{gobernaciones15|0}}}|}}
{{!}}-
{{#if:{{{prefecturas15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo1|Prefecturas}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{prefecturas15|0}}}|}}
{{!}}-
{{#if:{{{alcaldías15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo2|Alcaldías}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{alcaldías15|0}}}|}}
{{!}}-
{{#if:{{{concejales15|}}}|
{{!}} colspan="6" {{!}}{{{subdivisión_tipo3|Concejales}}}
{{!}} colspan="3" style="text-align:right;"{{!}}{{{concejales15|0}}}|}}
{{#if:{{{porcentaje15|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color15|}}};width:{{#expr:{{{porcentaje15|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje15|0}}} %{{{ref_porcentaje15|}}}|}}
{{#if:{{{porcentaje2v15|}}}|
{{!}}-
{{!}} colspan="6" style="height:1px;width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color15|}}};width:{{#expr:{{{porcentaje2v15|0}}} round 0}}%;">  </div>
{{!}} colspan="3" style="text-align:right; width:25%;"{{!}}{{{porcentaje2v15|0}}} %{{{ref_porcentaje2v15|}}}|}}|}}
{{!}}-
<noinclude>Resto de la plantilla</noinclude>
{{#if:{{{mapa_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{mapa_título}}}'''|}}
|-
{{#if:{{{mapa|}}}|{{!}} colspan="12" style=" text-align:center;"{{!}} [[{{{mapa}}}|{{{mapa_tamaño|200px}}}|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda_mapa1|}}}| {{!}} {{#if:{{{leyenda_mapa2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda_mapa1}}}</div>|}}
{{#if:{{{leyenda_mapa2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda_mapa2}}}</div>|}}
|-
{{#if:{{{mapa_subtítulo|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} <small>{{{mapa_subtítulo}}}</small>|}}
{{#if:{{{mapa2_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{mapa2_título}}}'''|}}
|-
{{#if:{{{mapa2|}}}|{{!}} colspan="12" style=" text-align:center;"{{!}} [[{{{mapa2}}}|{{{mapa2_tamaño|200px}}}|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda_mapa1_2|}}}| {{!}} {{#if:{{{leyenda_mapa2_2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda_mapa1_2}}}</div>|}}
{{#if:{{{leyenda_mapa2_2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda_mapa2_2}}}</div>|}}
|-
{{#if:{{{mapa2_subtítulo|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} <small>{{{mapa2_subtítulo}}}</small>|}}
|-
{{#if:{{{diagrama_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{diagrama_título}}}'''|}}
|-
{{#if:{{{diagrama|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} [[{{{diagrama}}}|{{{diagrama_tamaño|200}}}px|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda1|}}}| {{!}} {{#if:{{{leyenda2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda1}}}</div>|}}
{{#if:{{{leyenda2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda2}}}</div>|}}
|-
{{#if:{{{diagrama2_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{diagrama2_título}}}'''|}}
|-
{{#if:{{{diagrama2|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} [[{{{diagrama2}}}|{{{diagrama2_tamaño|200}}}px|{{PAGENAME}}]]|}}
|-
{{#if:{{{diagrama3_título|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{diagrama3_título}}}'''|}}
|-
{{#if:{{{diagrama3|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} [[{{{diagrama3}}}|{{{diagrama3_tamaño|200}}}px|{{PAGENAME}}]]|}}
|-
{{#if:{{{leyenda1_2|}}}| {{!}} {{#if:{{{leyenda2_2|}}}|colspan="6"|colspan="12"}} style="text-align:left;" {{!}} <div>{{{leyenda1_2}}}</div>|}}
{{#if:{{{leyenda2_2|}}}|{{!}} colspan="6" {{!}} <div>{{{leyenda2_2}}}</div>|}}
|-
{{#if:{{{título_barras|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras}}}'''|}}
|-
{{#if:{{{barras1|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras1}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras1}}}; width:{{#expr:{{{porcentaje_barras1|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras1|0}}} %|}}
{{!}}-
{{#if:{{{título_barras2|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras2}}}'''|}}
{{!}}-
{{#if:{{{barras2|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras2}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras2}}}; width:{{#expr:{{{porcentaje_barras2|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras2|0}}} %|}}
{{!}}-
{{#if:{{{título_barras3|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras3}}}'''|}}
{{!}}-
{{#if:{{{barras3|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras3}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras3}}}; width:{{#expr:{{{porcentaje_barras3|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras3|0}}} %|}}
{{!}}-
{{#if:{{{título_barras4|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{título_barras4}}}'''|}}
{{!}}-
{{#if:{{{barras4|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras4}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras4}}}; width:{{#expr:{{{porcentaje_barras4|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras4|0}}} %|}}
{{!}}-
{{#if:{{{barras5|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras5}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras5}}}; width:{{#expr:{{{porcentaje_barras5|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras5|0}}} %|}}
{{!}}-
{{#if:{{{barras6|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras6}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras6}}}; width:{{#expr:{{{porcentaje_barras6|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras6|0}}} %|}}
{{!}}-
{{#if:{{{barras7|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras7}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras7}}}; width:{{#expr:{{{porcentaje_barras7|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras7|0}}} %|}}
{{!}}-
{{#if:{{{barras8|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras8}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras8}}}; width:{{#expr:{{{porcentaje_barras8|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras8|0}}} %|}}
{{!}}-
{{#if:{{{barras9|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras9}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras9}}}; width:{{#expr:{{{porcentaje_barras9|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras9|0}}} %|}}
{{!}}-
{{#if:{{{barras10|}}}|{{!}} colspan="4" style="width:33%;"{{!}} {{{barras10}}}
{{!}} colspan="6" style="width:50%;border: 1px solid black;" {{!}}<div style="background:{{{color_barras10}}}; width:{{#expr:{{{porcentaje_barras10|0}}} round 0}}%;">  </div>
{{!}} colspan="2" style="text-align:right; width:17%;"{{!}}{{{porcentaje_barras10|0}}} %|}}
|-
{{#if:{{{subtítulo_barras|}}}|{{!}} colspan="12" style="text-align:center;"{{!}} <small>{{{subtítulo_barras}}}</small>|}}
|-
{{#if:{{{predecesor|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{cargo}}}'''
{{!}}-
{{!}} colspan="6"{{!}}<div style="text-align:left; text-size:80%; float:left;">'''Titular'''<br />{{{predecesor}}}{{#if:{{{partido_predecesor|}}}|<br /><small>{{{partido_predecesor|}}}</small>|}}</div>
{{!}} colspan="6"{{!}}{{#if:{{{sucesor|}}}|<div style="text-align:right; text-size:80%; float:right;">'''Electo'''<br />{{{sucesor}}}{{#if:{{{partido_sucesor|}}}|<br /><small>{{{partido_sucesor}}}</small>|}}</div>|}}}}
|-
{{#if:{{{extra_encabezado|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{extra_encabezado}}}'''|}}
|-
{{#if:{{{extra_contenido|}}}|{{!}} colspan="12" style="text-align:left;"{{!}}{{{extra_contenido}}}|}}
|-
{{#if:{{{extra_encabezado2|}}}|{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} '''{{{extra_encabezado2}}}'''|}}
|-
{{#if:{{{extra_contenido2|}}}|{{!}} colspan="12" style="text-align:left;"{{!}}{{{extra_contenido2}}}|}}
|-
{{#if:{{{sitio_web|}}}|{{!}} colspan="12"{{!}}<hr />
{{!}}-
{{!}} colspan="12" style="text-align:center; font-size:110%;"{{!}} {{{sitio_web}}}|}}
|}</includeonly><noinclude>{{adaptar ficha}}
{{documentación}}</noinclude>
91d52a420b918fc36a0ad0155134a5d10386b16e
Plantilla:Lista plegable
10
83
165
164
2024-01-02T19:49:55Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
#REDIRECCIÓN [[Plantilla:Lista desplegable]]
6211429e305e2ed656bce3e64f1986cfeb898a7c
Plantilla:Recortar imagen
10
84
167
166
2024-01-02T19:49:56Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly><div class="{{#if:{{{Description|{{{descripción|}}}}}}|thumb <!--
-->{{#switch:{{{Location|{{{alinear|}}}}}}
| no | none | tnone = tnone
| izquierda | left | tleft = tleft
| derecha | right | tright = tright
| centro | center = center
| #default = tright }}|<!-- if no description:
-->{{#switch:{{{Location|{{{alinear|}}}}}}
| no | none = floatnone
| izquierda | left = floatleft
| derecha | right = floatright
| centro | center = center }}}}">
{{#if:{{{Description|{{{descripción|}}}}}}|<div class="thumbinner" style="width: {{{cWidth|{{{ancho de corte}}}}}}px;">}}
<div style="width: {{{cWidth|{{{ancho de corte}}}}}}px; height: {{{cHeight|{{{alto de corte}}}}}}px; overflow: hidden;">
<div style="position: relative; top: -{{{oTop|{{{píxeles abajo|0|}}}}}}px; left: -{{{oLeft|{{{píxeles izquierda|0|}}}}}}px; width: {{{bSize|{{{tamaño base}}}}}}px"><!--
-->[[File:{{{imagen|{{{Imagen}}}}}}|{{{bSize|{{{tamaño base}}}}}}px|alt={{{Alt|{{{texto alternativo|{{{Description|{{{descripción}}}|{{{imagen|{{{Imagen}}}}}}}}}}}}{{#if:{{{Link|{{{enlace|}}}}}}|{{!}}link={{{Link|{{{enlace}}}}}}}}{{#if:{{{Page|{{{página|}}}}}}|{{!}}page={{{Page|{{{página}}}}}}}}]]<!--
--></div>
{{#if:{{{Description|{{{descripción|}}}}}}|</div>
<div class="thumbcaption">
<div class="magnify">[[:{{#if:{{{magnify-link|}}}|{{{magnify-link}}}|File:{{{imagen|{{{Imagen}}}}}}}}]]</div>{{{Description|{{{descripción}}}}}}
</div>}}</div></div><!-- {{#ifeq:1|{{ifnumber|{{{cWidth|}}}{{{cHeight|}}}{{{oTop|}}}{{{oLeft|}}}{{{bSize|}}}}}||[[Category:CSS image crop using invalid parameters]]}} --></includeonly><noinclude>{{documentation}}</noinclude>
6b7008671e1f1d6abf14d019d7088fda0918892f
Plantilla:Leyenda
10
85
169
168
2024-01-02T19:49:56Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<span style="margin:0px; padding-bottom:1px; font-size:{{{tamaño|90%}}}; {{#ifeq:{{{vertical|}}}|0| |display:block;}}"><span style="border: 1px solid; border-color: {{{border|{{{borde|black}}}}}}; background-color:{{{1|none}}}; color:{{{color|{{{color2|white}}}}}}"> {{{texto2|}}} </span> {{{2|}}}</span><noinclude>{{documentación}}</noinclude>
928b10b3c29e92d885bfc14ee2139a125ecc117c
Plantilla:Color político
10
86
171
170
2024-01-02T19:49:57Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{{#switch:{{{1|}}}<!--
==== Alemania ====
-->| Alianza 90/Los Verdes = <nowiki>#64A12D</nowiki><!--
-->| AfD <!--
-->| Alternativa para Alemania = <nowiki>#009EE0</nowiki><!--
-->| Die Linke = <nowiki>#BE3075</nowiki><!--
-->| KPD <!--
-->| Partido Comunista de Alemania = <nowiki>#8B0000</nowiki><!--
-->| Zentrum <!--
-->| Partido de Centro (Alemania) = <nowiki>#000000</nowiki><!--
-->| DDP <!--
-->| Partido Democrático Alemán = <nowiki>#FFCC00</nowiki><!--
-->| FDP <!--
-->| Partido Democrático Libre = <nowiki>#FFED00</nowiki><!--
-->| DNVP <!--
-->| Partido Nacional del Pueblo Alemán = <nowiki>#000000</nowiki><!--
-->| NPD <!--
-->| Partido Nacionaldemócrata de Alemania = <nowiki>#8B4726</nowiki><!--
-->| NSDAP <!--
-->| Partido Nacionalsocialista Obrero Alemán = <nowiki>#964B00</nowiki><!--
-->| SED <!--
-->| Partido Socialista Unificado de Alemania = <nowiki>#DC241F</nowiki><!--
-->| DVP <!--
-->| Partido Popular Alemán = <nowiki>#1874CD</nowiki><!--
-->| SPD <!--
-->| Partido Socialdemócrata de Alemania = <nowiki>#EB001F</nowiki><!--
-->| LKR <!--
-->| Reformadores Liberal-Conservadores = <nowiki>#F29200</nowiki><!--
-->| CDU <!--
-->| Unión Demócrata Cristiana de Alemania = <nowiki>#000000</nowiki><!--
-->| CSU <!--
-->| Unión Social Cristiana de Baviera = <nowiki>#008AC5</nowiki><!--
==== Andorra ====
===== Actuales =====
-->| Acción Comunal de Ordino = <nowiki>#BCA509</nowiki><!--
-->| Acción por Andorra = <nowiki>#99E0DA</nowiki><!--
-->| Andorra Adelante = <nowiki>#384182</nowiki><!--
-->| Andorra Sobirana = <nowiki>#956300</nowiki><!--
-->| CD'I per Andorra la Vella = <nowiki>#6B1F5F</nowiki><!--
-->| Ciudadanos Comprometidos = <nowiki>#702584</nowiki><!--
-->| Concordia = <nowiki>#8DB5C1</nowiki><!--
-->| Demócratas por Andorra = <nowiki>#F47213</nowiki><!--
-->| Liberales de Andorra = <nowiki>#02B1F0</nowiki><!--
-->| Partido Socialdemócrata de Andorra = <nowiki>#D40000</nowiki><!--
-->| Socialdemocracia y Progreso de Andorra = <nowiki>#9A1350</nowiki><!--
-->| Tercera Via = <nowiki>#232060</nowiki><!--
-->| Unidos por el Progreso de Andorra = <nowiki>#2C3FA0</nowiki><!--
-->| Unió Laurediana = <nowiki>#000000</nowiki><!--
=====Históricos=====
-->| Agrupamiento Nacional Democrático = <nowiki>#E62E00</nowiki><!--
-->| Andorra por el Cambio = <nowiki>#0D2264</nowiki><!--
-->| Centro Democrático de Andorra = <nowiki>#1C4F9B</nowiki><!--
-->| Coalición Nacional Andorrana = <nowiki>#2525C2</nowiki><!--
-->| Coalición Reformista = <nowiki>#0099FF</nowiki><!--
-->| Grup d'Opinió Liberal = <nowiki>#FEE46E</nowiki><!--
-->| Grupo de la Unión Parroquial de Independientes = <nowiki>#006D3A</nowiki><!--
-->| Iniciativa Ciudadana = <nowiki>#AB2A87</nowiki><!--
-->| Iniciativa Democrática Nacional = <nowiki>#FF00D4</nowiki><!--
-->| Los Verdes de Andorra = <nowiki>#4CC417</nowiki><!--
-->| Moviment Massanenc = <nowiki>#FFC423</nowiki><!--
-->| Nueva Democracia = <nowiki>#FFAC30</nowiki><!--
-->| Nuevo Centro = <nowiki>#8B1A23</nowiki><!--
-->| Partido Demócrata = <nowiki>#FFCC00</nowiki><!--
-->| Renovación Democrática = <nowiki>#FFA500</nowiki><!--
-->| Siglo 21 = <nowiki>#0000FF</nowiki><!--
-->| Unió Nacional de Progrés = <nowiki>#FFB300</nowiki><!--
-->| Unió Parroquial d'Ordino = <nowiki>#0071BC</nowiki><!--
==== Argentina ====
===== Alianzas nacionales =====
-->| 1País = <nowiki>#0A1172</nowiki><!--
-->| Alianza Civil (Argentina) = <nowiki>#F69A69</nowiki><!--
-->| Alianza de Centro (Argentina) = <nowiki>#6495ED</nowiki><!--
-->| Alianza para el Trabajo, la Justicia y la Educación = <nowiki>#0AABDB</nowiki><!--
-->| Alianza Popular Federalista = <nowiki>#FAD201</nowiki><!--
-->| Concordancia (Argentina) = <nowiki>#BfD0DA</nowiki><!--
-->| Confederación Federalista Independiente = <nowiki>#008000</nowiki><!--
-->| Junta Nacional Coordinadora <!--
-->| Junta Nacional de Coordinación Política = <nowiki>#318CE7</nowiki><!--
-->| Cambiemos <!--
-->| Juntos por el Cambio = <nowiki>#FFD700</nowiki><!--
-->| Consenso Federal (alianza) <!--
-->| Consenso Federal (coalición de 2019) = <nowiki>#283084</nowiki><!--
-->| Frente Amplio Progresista (Argentina) =<nowiki>#FF6600</nowiki><!--
-->| Frente de Izquierda y de Trabajadores - Unidad <!--
-->| Frente de Izquierda y de los Trabajadores = <nowiki>#F65058</nowiki><!--
-->| Unión por la Patria <!--
-->| Frente de Todos (coalición de 2019) = <nowiki>#009FE3</nowiki><!--
-->| Frente NOS = <nowiki>#307FE2</nowiki><!--
-->| Frente País Solidario = <nowiki>#A349A4</nowiki><!--
-->| Unidad Ciudadana <!--
-->| Frente para la Victoria = <nowiki>#75AADB</nowiki><!--
-->| Frente por la Lealtad = <nowiki>dodgerblue</nowiki><!--
-->| Izquierda Unida (Argentina, 1987-1991) <!--
-->| Izquierda Unida (Argentina, 1997-2005) = <nowiki>#CC2D2A</nowiki><!--
-->| La Libertad Avanza = <nowiki>#6C4C99</nowiki><!--
-->| Progresistas = <nowiki>#EE4D8B</nowiki><!--
-->| Unidos por una Nueva Alternativa = <nowiki>#4C2882</nowiki><!--
===== Partidos nacionales =====
-->| Acción por la República = <nowiki>#3E5298</nowiki><!--
-->| Afirmación para una República Igualitaria <!--
-->| Coalición Cívica ARI = <nowiki>#6FB53E</nowiki><!--
-->| Alianza Compromiso Federal <!--
-->| Compromiso Federal = <nowiki>#66FFCC</nowiki><!--
-->| Encuentro Republicano Federal = <nowiki>#213C6E</nowiki><!--
-->| Frente Grande = <nowiki>#D22C21</nowiki><!--
-->| Frente Patria Grande = <nowiki>#199ED8</nowiki><!--
-->| Frente Patriota Federal <!--
-->| Frente Patriota = <nowiki>#AE8333</nowiki><!--
-->| Frente Renovador = <nowiki>#0E3C61</nowiki><!--
-->| Generación para un Encuentro Nacional = <nowiki>#EE4D8B</nowiki><!--
-->| Izquierda Socialista (Argentina) = <nowiki>#E20612</nowiki><!--
-->| Kolina = <nowiki>#04B45F</nowiki><!--
-->| Lealtad y Dignidad = <nowiki>dodgerblue</nowiki><!--
-->| Nuevo Movimiento al Socialismo <!--
-->| Movimiento al Socialismo (2003) = <nowiki>#E52D33</nowiki><!--
-->| Movimiento de Acción Vecinal = <nowiki>#187F36</nowiki><!--
-->| Movimiento de Integración y Desarrollo = <nowiki>#0F2B3D</nowiki><!--
-->| Movimiento Independiente de Jubilados y Desocupados <!--
-->| Movimiento Independiente de Justicia y Dignidad = <nowiki>#B0C236</nowiki><!--
-->| Movimiento Libres del Sur = <nowiki>#0067A5</nowiki><!--
-->| Proyecto Sur <!--
-->| Movimiento Proyecto Sur = <nowiki>#389B00</nowiki><!--
-->| Nueva Izquierda (Argentina) <!--
-->| Movimiento Socialista de los Trabajadores = <nowiki>#CC0000</nowiki><!--
-->| Nueva Unión Ciudadana = <nowiki>#004078</nowiki><!--
-->| Encuentro por la Democracia y la Equidad <!--
-->| Nuevo Encuentro = <nowiki>#008FC3</nowiki><!--
-->| Partido Autonomista de Corrientes <!--
-->| Partido Autonomista (Argentina) = <nowiki>#FC2A19</nowiki><!--
-->| Partido Comunista (Argentina) = <nowiki>#E22928</nowiki><!--
-->| Partido Comunista (Congreso Extraordinario) = <nowiki>#FF2400</nowiki><!--
-->| Partido del Trabajo y del Pueblo <!--
-->| Partido Comunista Revolucionario (Argentina) = <nowiki>#ED1C24</nowiki><!--
-->| Partido Conservador Popular (Argentina) = <nowiki>#000081</nowiki><!--
-->| Partido de la Concertación FORJA = <nowiki>#ED3236</nowiki><!--
-->| Partido de la Cultura, la Educación y el Trabajo = <nowiki>#D9E542</nowiki><!--
-->| Partido de la Victoria = <nowiki>#00CCFF</nowiki><!--
-->| Partido de los Trabajadores Socialistas = <nowiki>#FF6347</nowiki><!--
-->| Partido del Trabajo y la Equidad = <nowiki>#4E92D3</nowiki><!--
-->| Partido Demócrata de Buenos Aires <!--
-->| Partido Demócrata de Córdoba <!--
-->| Partido Demócrata de la Capital Federal <!--
-->| Partido Demócrata de Mendoza <!--
-->| Partido Demócrata de San Luis <!--
-->| Partido Demócrata del Chaco <!--
-->| Partido Demócrata (Argentina) = <nowiki>#1F2F6B</nowiki><!--
-->| Partido Demócrata Cristiano (Argentina) = <nowiki>#2B3094</nowiki><!--
-->| Partido Demócrata Progresista = <nowiki>#005C9E</nowiki><!--
-->| Es Posible <!--
-->| Partido Es Posible = <nowiki>#FFCC66</nowiki><!--
-->| Partido Fe = <nowiki>#0070BA</nowiki><!--
-->| Partido Federal (1973) = <nowiki>#B51601</nowiki><!--
-->| Partido Humanista (Argentina) = <nowiki>#FF7F00</nowiki><!--
-->| Partido Intransigente = <nowiki>#D10047</nowiki><!--
-->| Frente Justicialista de Liberación <!--
-->| Partido Justicialista = <nowiki>#318CE7</nowiki><!--
-->| Partido Libertario (Argentina) = <nowiki>#FF8E3D</nowiki><!--
-->| Partido Nacionalista Constitucional <!--
-->| Partido Nacionalista Constitucional UNIR <!--
-->| Partido Nacionalista Constitucional - UNIR = <nowiki>#2E4371</nowiki><!--
-->| Partido Obrero (Argentina) = <nowiki>#F4022E</nowiki><!--
-->| Partido Progreso Social = <nowiki>#008000</nowiki><!--
-->| Partido Socialista (Argentina) = <nowiki>#FF9900</nowiki><!--
-->| Partido Socialista Auténtico (Argentina) = <nowiki>#DD2C1A</nowiki><!--
-->| Partido Solidario = <nowiki>#029C6A</nowiki><!--
-->| Partido Tercera Posición = <nowiki>#8B008B</nowiki><!--
-->| Partido Verde (Argentina) = <nowiki>#8AB33E</nowiki><!--
-->| Política Abierta para la Integridad Social = <nowiki>#4F85C5</nowiki><!--
-->| Propuesta Republicana = <nowiki>#FFD700</nowiki><!--
-->| Somos (partido político) = <nowiki>#E2007A</nowiki><!--
-->| Unión Celeste y Blanco = <nowiki>#0B7DE0</nowiki><!--
-->| Unión Cívica Radical = <nowiki>#E10019</nowiki><!--
-->| Instrumento Electoral por la Unidad Popular <!--
-->| Unidad Popular (Argentina) = <nowiki>#00478F</nowiki><!--
-->| Unión del Centro Democrático = <nowiki>#6495ED</nowiki><!--
-->| Unión Popular Federal <!--
-->| Unión Popular (Argentina) = <nowiki>#009999</nowiki><!--
-->| Unite por la Libertad y la Dignidad = <nowiki>#4CB0E4</nowiki><!--
===== Partidos provinciales (contando históricos) =====
====== Capital Federal ======
-->| Autodeterminación y Libertad = <nowiki>#592E6B</nowiki><!--
-->| Energía Ciudadana Organizada = <nowiki>#32CD32</nowiki><!--
-->| Evolución Ciudadana = <nowiki>#32CD32</nowiki><!--
-->| Confianza Pública = <nowiki>#2E9A60</nowiki><!--
-->| Republicanos Unidos = <nowiki>#651F7A</nowiki><!--
====== Catamarca ======
-->| Movimiento Popular Catamarqueño = <nowiki>#0052CE</nowiki><!--
====== Chaco ======
-->| Acción Chaqueña = <nowiki>#000080</nowiki><!--
-->| Nuevo Espacio de Participación del Chaco = <nowiki>#FF4500</nowiki><!--
-->| Partido Popular de la Reconstrucción = <nowiki>#2B2361</nowiki><!--
====== Chubut ======
-->| Chubut Somos Todos = <nowiki>#2AB665</nowiki><!--
-->| Partido Acción Chubutense = <nowiki>#0A1172</nowiki><!--
====== Córdoba ======
-->| Encuentro Vecinal Córdoba = <nowiki>#E76003</nowiki><!--
-->| Frente Cívico de Córdoba = <nowiki>#DD3F18</nowiki><!--
-->| Unión por Córdoba = <nowiki>#19BC9D</nowiki><!--
====== Corrientes ======
-->| Encuentro por Corrientes = <nowiki>#6EBD46</nowiki><!--
-->| Pacto Autonomista - Liberal = <nowiki>#40E0D0</nowiki><!--
-->| Partido Liberal de Corrientes = <nowiki>#35AAE0</nowiki><!--
-->| Partido Nuevo (Corrientes) <!--
-->| Partido Nuevo = <nowiki>#FF7500</nowiki><!--
====== Jujuy ======
-->| Movimiento de Renovación Cívica = <nowiki>darkred</nowiki><!--
-->| Movimiento de Unidad Renovadora = <nowiki>#FFFF00</nowiki><!--
-->| Movimiento Popular Jujeño = <nowiki>#17117D</nowiki><!--
-->| Partido por la Dignidad del Pueblo = <nowiki>#D90527</nowiki><!--
-->| Partido por la Soberanía Popular = <nowiki>#04B45F</nowiki><!--
-->| Partido Popular (Jujuy) = <nowiki>#E9D66B</nowiki><!--
-->| Primero Jujuy = <nowiki>#283B73</nowiki><!--
====== La Pampa ======
-->| Comunidad Organizada = <nowiki>#1C4587</nowiki><!--
-->| Movimiento Federalista Pampeano = <nowiki>#005C9E</nowiki><!--
====== Mendoza ======
-->| Frente Cambia Mendoza = <nowiki>#902790</nowiki><!--
-->| Protectora Fuerza Política = <nowiki>#1FAA89</nowiki><!--
====== Misiones ======
-->| Partido Agrario y Social = <nowiki>green</nowiki><!--
-->| Partido de la Concordia Social = <nowiki>#294593</nowiki><!--
====== Neuquén ======
-->| Movimiento Popular Neuquino = <nowiki>#0070B8</nowiki><!--
====== Río Negro ======
-->| Juntos Somos Río Negro = <nowiki>#49A942</nowiki><!--
-->| Movimiento Patagónico Popular = <nowiki>#04923C</nowiki><!--
-->| Partido Provincial Rionegrino = <nowiki>#EB3721</nowiki><!--
====== Salta ======
-->| Salta Somos Todos <!--
-->| Partido Ahora Patria <!--
-->| Ahora Patria = <nowiki>yellow</nowiki><!--
-->| Partido Identidad Salteña = <nowiki>#B21519</nowiki><!--
-->| Partido Propuesta Salteña = <nowiki>orange</nowiki><!--
-->| Partido Renovador de Salta = <nowiki>#1E90FF</nowiki><!--
====== San Juan ======
-->| Cruzada Renovadora = <nowiki>#87CEEB</nowiki><!--
-->| Unión Cívica Radical Bloquista <!--
-->| Partido Bloquista <!--
-->| Partido Bloquista de San Juan = <nowiki>#44944A</nowiki><!--
====== San Luis ======
-->| Avanzar San Luis = <nowiki>#24A1BD</nowiki><!--
====== Santa Fe ======
-->| Somos Energía para Renovar Santa Cruz = <nowiki>#0268B3</nowiki><!--
====== Santa Fe ======
-->| Ciudad Futura = <nowiki>#E73D3E</nowiki><!--
-->| Frente Progresista Cívico y Social = <nowiki>#FF8C00</nowiki><!--
====== Santiago del Estero ======
-->| Frente Cívico por Santiago = <nowiki>#FF0080</nowiki><!--
-->| Frente Patriótico Laborista = <nowiki>#1C4C96</nowiki><!--
-->| Movimiento Santiago Viable = <nowiki>#32BB32</nowiki><!--
====== Tierra del Fuego ======
-->| Movimiento Popular Fueguino = <nowiki>#00008B</nowiki><!--
-->| Partido Social Patagónico = <nowiki>#E42F28</nowiki><!--
====== Tucumán ======
-->| Defensa Provincial - Bandera Blanca <!--
-->| Defensa Provincial-Bandera Blanca = <nowiki>#A0A0A0</nowiki><!--
-->| Fuerza Republicana = <nowiki>#0070B8</nowiki><!--
-->| Vanguardia Federal = <nowiki>#FFD700</nowiki><!--
===== Partidos nacionales históricos =====
-->| Partido Socialista de la Izquierda Nacional <!--
-->| Movimiento Patriótico de Liberación <!--
-->| Federación Nacional de Partidos de Centro = <nowiki>#4169E1</nowiki><!--
-->| Frente de Izquierda Popular = <nowiki>black</nowiki><!--
-->| Movimiento al Socialismo (1982) = <nowiki>#E52D33</nowiki><!--
-->| Movimiento por la Dignidad y la Independencia = <nowiki>#FFEF00</nowiki><!--
-->| Nueva Fuerza = <nowiki>#29C0EF</nowiki><!--
-->| Partido Conservador (Argentina) <!--
-->| Partido Autonomista Nacional = <nowiki>#74acdf</nowiki><!--
-->| Partido Blanco de los Jubilados = <nowiki>#D3D3D3</nowiki><!--
-->| Partido Demócrata Nacional = <nowiki>#1F2F6B</nowiki><!--
-->| Partido Federal (Argentina) = <nowiki>#B31B1B</nowiki><!--
-->| Partido Laborista (Argentina) = <nowiki>#002270</nowiki><!--
-->| Partido Popular de la Reconstrucción = <nowiki>#2B2361</nowiki><!--
-->| Partido Socialista Argentino = <nowiki>#FA4616</nowiki><!--
-->| Partido Socialista Democrático (Argentina) = <nowiki>#FFAD00</nowiki><!--
-->| Partido Socialista de los Trabajadores (Argentina) = <nowiki>darkred</nowiki><!--
-->| Partido Socialista Independiente (Argentina) = <nowiki>#FFC0CE</nowiki><!--
-->| Partido Socialista Popular (Argentina) = <nowiki>#FF6700</nowiki><!--
-->| Partido Unidad Federalista = <nowiki>#808080</nowiki><!--
-->| Partido Unitario = <nowiki>#ADD8E6</nowiki><!--
-->| Corriente Patria Libre = <nowiki>#A7D3F3</nowiki><!--
-->| Recrear para el Crecimiento = <nowiki>#35649C</nowiki><!--
-->| Unión Cívica Nacional = <nowiki>#22b14c</nowiki><!--
-->| Unión Cívica Radical Antipersonalista = <nowiki>#76ACDC</nowiki><!--
-->| Unión Cívica Radical del Pueblo = <nowiki>#E10019</nowiki><!--
-->| Unión Cívica Radical Intransigente = <nowiki>#E36552</nowiki><!--
-->| Unión del Pueblo Argentino = <nowiki>#00708B</nowiki><!--
-->| Unión por Todos <!--
-->| Unión por la Libertad = <nowiki>#73288B</nowiki><!--
==== Barbados ====
-->| Congreso Democrático Popular = <nowiki>#333333</nowiki><!--
-->| Gobierno del Reino de Barbados = <nowiki>#000000</nowiki><!--
-->| Movimiento por la Integridad de Barbados = <nowiki>#E87A25</nowiki><!--
-->| Partido Conservador Progresista (Barbados) = <nowiki>#8064A2</nowiki><!--
-->| Partido del Pueblo por la Democracia y el Desarrollo = <nowiki>#BBD17A</nowiki><!--
-->| Partido Democrático Laborista (Barbados) = <nowiki>#FFD700</nowiki><!--
-->| Partido Laborista de Barbados = <nowiki>#EC2227</nowiki><!--
-->| Partido Libre Bajan = <nowiki>#000000</nowiki><!--
-->| Partido Progresista Unido (Barbados) = <nowiki>#FFA500</nowiki><!--
-->| Soluciones para Barbados = <nowiki>#ACC437</nowiki><!--
-->| Partido Nacional de Barbados = <nowiki>#76933C</nowiki><!--
-->| Asociación de Electores de Barbados = <nowiki>#AA00D4</nowiki><!--
==== Belice ===
-->| Partido Popular Unido = <nowiki>#003F87</nowiki><!--
-->| Partido Democrático Unido (Belice) = <nowiki>#CE1126</nowiki><!--
-->| Alianza Nacional por los Derechos Beliceños = <nowiki>#228B22</nowiki><!--
-->| Partido Demócrata Cristiano (Belice) = <nowiki>#FF7F00</nowiki><!--
-->| Partido de la Independencia Nacional (Belice) = <nowiki>#CC0000</nowiki><!--
-->| Partido Nacional (Belice) = <nowiki>#00FFFF</nowiki><!--
==== Botsuana ====
-->| Partido Democrático de Botsuana = <nowiki>#E11E26</nowiki><!--
-->| Paraguas para el Cambio Democrático (2014) = <nowiki>#E28334</nowiki><!--
-->| Paraguas para el Cambio Democrático (2019) = <nowiki>#244197</nowiki><!--
-->| Frente Nacional de Botsuana = <nowiki>#fbc201</nowiki><!--
-->| Partido del Congreso de Botsuana = <nowiki>#95c94a</nowiki><!--
-->| Movimiento por la Democracia de Botsuana = <nowiki>#F58924</nowiki><!--
-->| Alianza para los Progresistas = <nowiki>#622795</nowiki><!--
-->| Frente Patriótico de Botsuana = <nowiki>#fece00</nowiki><!--
-->| Movimiento de la Alianza de Botsuana = <nowiki>#000088</nowiki><!--
-->| Partido Popular de Botsuana = <nowiki>#00CC00</nowiki><!--
-->| Partido de la Independencia de Botsuana = <nowiki>#000099</nowiki><!--
-->| Partido de la Libertad y la Independencia = <nowiki>#000000</nowiki><!--
==== Brasil ====
-->| Partido Laborista de Brasil = <nowiki>#ED5F36</nowiki><!--
-->| Avante (partido político) = <nowiki>#ED5F36</nowiki><!--
-->| Partido Socialdemócrata Cristiano<!--
-->| Democracia Cristiana (Brasil) = <nowiki>#333E90</nowiki><!--
-->| Partido del Frente Liberal<!--
-->| Demócratas (Brasil) = <nowiki>#8CC63E</nowiki><!--
-->| Partido del Movimiento Democrático Brasileño<!--
-->| Movimiento Democrático Brasileño (1980) = <nowiki>#30914D</nowiki><!--
-->| Partido Comunista Brasileño = <nowiki>#9C0000</nowiki><!--
-->| Partido Comunista de Brasil = <nowiki>#A30000</nowiki><!--
-->| Partido de la Causa Obrera = <nowiki>#5C0000</nowiki><!--
-->| Partido de la Movilización Nacional = <nowiki>#DD3333</nowiki><!--
-->| Partido de la Mujer Brasileña = <nowiki>#003366</nowiki><!--
-->| Partido de la Reconstrucción del Orden Nacional = <nowiki>#000000</nowiki><!--
-->| Partido de la Social Democracia Brasileña = <nowiki>#0080FF</nowiki><!--
-->| Partido de los Retirados de la Nación = <nowiki>#008000</nowiki><!--
-->| Partido de los Trabajadores (Brasil) = <nowiki>#CC0000</nowiki><!--
-->| Partido Democrático Laborista (Brasil) = <nowiki>#CC0033</nowiki><!--
-->| Partido Humanista de la Solidaridad = <nowiki>#8A191E</nowiki><!--
-->| Partido Laborista Brasileño = <nowiki>#7B7B7B</nowiki><!--
-->| Partido Laborista Cristiano = <nowiki>#FFFF00</nowiki><!--
-->| Partido Liberal (Brasil)<!--
-->| Partido de la República<!--
-->| Partido Liberal (Brasil, 2006) = <nowiki>#3C3E96</nowiki><!--
-->| Partido Nuevo (Brasil) = <nowiki>#FF5E00</nowiki><!--
-->| Partido Patria Libre (Brasil) = <nowiki>#58B324</nowiki><!--
-->| Partido Popular Socialista (Brasil) = <nowiki>#FF9191</nowiki><!--
-->| Ciudadanía (partido político) = <nowiki>#EC008C</nowiki><!--
-->| Partido Progresista Brasileño<!--
-->| Partido Progresista (Brasil)<!--
-->| Progresistas (Brasil) = <nowiki>#7DC9FF</nowiki><!--
-->| Partido Renovador Laborista Brasileño = <nowiki>#006324</nowiki><!--
-->| Partido Republicano Brasileño = <nowiki>#00E6A8</nowiki><!--
-->| Republicanos (Brasil) = <nowiki>#0066CC</nowiki><!--
-->| Partido Republicano de Orden Social = <nowiki>#FF5460</nowiki><!--
-->| Partido Republicano Progresista (Brasil) = <nowiki>#9DACD1</nowiki><!--
-->| Partido Social Cristiano (Brasil) = <nowiki>#009118</nowiki><!--
-->| Partido Social Democrático (Brasil, 2011) = <nowiki>#FFA500</nowiki><!--
-->| Partido Social Liberal (Brasil) = <nowiki>#203B78</nowiki><!--
-->| Partido Socialismo y Libertad (Brasil) = <nowiki>#700000</nowiki><!--
-->| Partido Socialista Brasileño = <nowiki>#FFC300</nowiki><!--
-->| Partido Socialista de los Trabajadores Unificado = <nowiki>#FFD500</nowiki><!--
-->| Partido Verde (Brasil) = <nowiki>#006600</nowiki><!--
-->| Partido Ecológico Nacional<!--
-->| Patriota (Brasil) = <nowiki>#CCAA00</nowiki><!--
-->| Partido Laborista Nacional = <nowiki>#AFB908</nowiki><!--
-->| Podemos (Brasil) = <nowiki>#2DA933</nowiki><!--
-->| Red de Sostenibilidad = <nowiki>#379E8D</nowiki><!--
-->| Solidaridad (Brasil) = <nowiki>#FF9C2B</nowiki><!--
==== Cabo Verde ====
-->| Movimiento para la Democracia (Cabo Verde) = <nowiki>#01C700</nowiki><!--
-->| Partido Africano de la Independencia de Cabo Verde = <nowiki>#FCD116</nowiki><!--
-->| Partido de la Convergencia Democrática (Cabo Verde) = <nowiki>#E77F8A</nowiki><!--
-->| Partido de la Renovación Democrática = <nowiki>#02569F</nowiki><!--
-->| Partido Social Demócrata (Cabo Verde) = <nowiki>#7C3479</nowiki><!--
-->| Unión Caboverdiana Independiente y Democrática = <nowiki>#0066FF</nowiki><!--
-->| Partido del Trabajo y la Solidaridad = <nowiki>#5963CF</nowiki><!--
-->| Partido Popular (Cabo Verde) = <nowiki>#3CB54C</nowiki><!--
-->| Alianza Democrática para el Cambio = <nowiki>#128385</nowiki><!--
==== Canadá ====
-->| Partido Liberal de Canadá = <nowiki>#EA6D6A</nowiki><!--
-->| Partido Conservador de Canadá = <nowiki>#6495ED</nowiki><!--
-->| Partido Conservador Progresista = <nowiki>#9999FF</nowiki><!--
-->| Partido Reformista de Canadá = <nowiki>#3CB371</nowiki><!--
-->| Alianza Canadiense = <nowiki>#5F9EA0</nowiki><!--
-->| Nuevo Partido Democrático = <nowiki>#F4A460</nowiki><!--
-->| Bloc Québécois = <nowiki>#87CEFA</nowiki><!--
-->| Partido Verde de Canadá = <nowiki>#99C955</nowiki><!--
-->| Partido del Crédito Social de Canadá = <nowiki>#90EE90</nowiki><!--
-->| Federación del Commonwealth Co-operativo = <nowiki>#EEDDAA</nowiki><!--
-->| Partido Popular de Canadá = <nowiki>#83789E</nowiki><!--
-->| Laborista (Canadá)<!--
-->| Granjero-Laborista (Canadá) = <nowiki>#EEBBBB</nowiki><!--
-->| Partido Socialdemócrata (Canadá) = <nowiki>#DA7C7C</nowiki><!--
===== Partidos provinciales (contando históricos) =====
====== Columbia Británica ======
-->| Partido Liberal de Columbia Británica = <nowiki>#A51B12</nowiki><!--
-->| Partido del Crédito Social de Columbia Británica = <nowiki>#ADD8E6</nowiki><!--
-->| Partido Reformista de Columbia Británica = <nowiki>#00BFFF</nowiki><!--
-->| Alianza Demócrata Progresista (Columbia Británica) = <nowiki>#AA99CC</nowiki><!--
-->| Partido Socialista de Columbia Británica = <nowiki>#FFD700</nowiki><!--
-->| Partido Provincial de Columbia Británica = <nowiki>#98CED6</nowiki><!--
-->| Grupo Independiente No Partidista = <nowiki>#287BC8</nowiki><!--
====== Alberta ======
-->| Partido Liberal de Alberta = <nowiki>#E51A38</nowiki><!--
-->| Partido Conservador Progresista de Alberta = <nowiki>#003366</nowiki><!--
-->| Partido de Alberta = <nowiki>#00AEEF</nowiki><!--
-->| Partido Wildrose = <nowiki>#336633</nowiki><!--
-->| Partido Conservador Unido (Alberta) = <nowiki>#005D7C</nowiki><!--
====== Saskatchewan ======
-->| Partido de Saskatchewan = <nowiki>#3CB371</nowiki><!--
====== Quebec ======
-->| Parti libéral du Québec = <nowiki>#EA6D6A</nowiki><!--
-->| PLQ = <nowiki>#EA6D6A</nowiki><!--
-->| Parti Québécois = <nowiki>#004C9D</nowiki><!--
-->| PQ = <nowiki>#004C9D</nowiki><!--
-->| Parti québécois = <nowiki>#004C9D</nowiki><!--
-->| Coalition Avenir Quebec = <nowiki>#1E90FF</nowiki><!--
-->| CAQ = <nowiki>#1E90FF</nowiki><!--
-->| Québéc solidaire = <nowiki>#FF8040</nowiki><!--
-->| QS = <nowiki>#FF8040</nowiki><!--
-->| Option Nationale = <nowiki>#4683C4</nowiki><!--
-->| Acción Democrática de Quebec = <nowiki>#B0C4DE</nowiki><!--
-->| Partido Igualdad = <nowiki>#FFE4B5</nowiki><!--
-->| EGA = <nowiki>#FFE4B5</nowiki><!--
-->| Union Nationale = <nowiki>#0088C2</nowiki><!--
====== Nueva Brunswick ======
-->| Alianza Popular de Nueva Brunswick = <nowiki>#AA99CC</nowiki><!--
====== Yukon ======
-->| Partido de Yukon = <nowiki>#035B9B</nowiki><!--
==== Chile ====
===== Alianzas =====
-->| Concertación de Partidos por la Democracia = <nowiki>#FFA500</nowiki><!--
-->| Alianza (Chile) = <nowiki>#4682B4</nowiki><!--
-->| Alianza de Centro (Chile) = <nowiki>#0000CD</nowiki><!--
-->| Liberal-Socialista Chileno = <nowiki>#B22222</nowiki><!--
-->| Unidad para la Democracia = <nowiki>#DC143C</nowiki><!--
-->| Movimiento de Izquierda Democrática Allendista<!--
-->| Alternativa Democrática de Izquierda = <nowiki>#FF0000</nowiki><!--
-->| La Nueva Izquierda = <nowiki>#FF7F00</nowiki><!--
-->| La Izquierda (Chile) = <nowiki>#DF0102</nowiki><!--
-->| Chile 2000 = <nowiki>#B51601</nowiki><!--
===== Partidos =====
-->| Partido Demócrata Cristiano (Chile) = <nowiki>#1E90FF</nowiki><!--
-->| Partido por la Democracia = <nowiki>#FFA500</nowiki><!--
-->| Partido Radical (Chile)<!--
-->| Partido Radical Socialdemócrata = <nowiki>#CD5C5C</nowiki><!--
-->| Partido Socialista de Chile = <nowiki>#CE0021</nowiki><!--
-->| Partido Humanista de Chile = <nowiki>#FF4500</nowiki><!--
-->| Los Verdes (Chile) = <nowiki>#00A550</nowiki><!--
-->| Renovación Nacional = <nowiki>#135BB8</nowiki><!--
-->| Unión Demócrata Independiente = <nowiki>#000080</nowiki><!--
-->| Partido del Sur = <nowiki>#00C100</nowiki><!--
-->| Avanzada Nacional = <nowiki>#000000</nowiki><!--
-->| Democracia Radical = <nowiki>#00E2C8</nowiki><!--
-->| Partido Liberal (Chile, 1988-1994) = <nowiki>#F5D60A</nowiki><!--
-->| Partido Liberal (Chile, 1998-2002) = <nowiki>#FED700</nowiki><!--
-->| Partido Socialista Chileno (1987-1990) = <nowiki>#FF0000</nowiki><!--
-->| Partido Nacional (Chile) = <nowiki>#000080</nowiki><!--
-->| Partido Amplio de Izquierda Socialista = <nowiki>#FF0000</nowiki><!--
-->| Partido Radical Socialista Democrático = <nowiki>#800080</nowiki><!--
-->| Partido Comunista de Chile = <nowiki>#DF0102</nowiki><!--
-->| Movimiento de Acción Popular Unitario = <nowiki>#55CD00</nowiki><!--
-->| Unión de Centro Centro = <nowiki>#B51601</nowiki><!--
-->| Alianza Humanista Verde = <nowiki>#FF7F00</nowiki><!--
-->| Movimiento Ecologista (Chile) = <nowiki>#00A550</nowiki><!--
-->| Partido Socialdemocracia Chilena = <nowiki>#FF0000</nowiki><!--
-->| Nueva Alianza Popular = <nowiki>#FF0000</nowiki><!--
-->| Bando pelucón = <nowiki>#0070B8</nowiki><!--
-->| Bando pipiolo = <nowiki>#E60026</nowiki><!--
==== República Popular China ====
===== Continental =====
===== Hong Kong =====
-->| Democratic Alliance (Hong Kong) = <nowiki>#1861AC</nowiki><!--
-->| Business and Professionals Alliance for Hong Kong = <nowiki>#78CAEC</nowiki><!--
-->| Hong Kong Federation of Trade Unions = <nowiki>#FF0000</nowiki><!--
-->| Liberal Party (Hong Kong) = <nowiki>#00AEEF</nowiki><!--
-->| New People's Party (Hong Kong) = <nowiki>#1C8BCD</nowiki><!--
-->| Mesa Redonda (Hong Kong) = <nowiki>#509CCD</nowiki><!--
===== Macao =====
==== República de China (Taiwán) ====
-->| Partido Progresista Democrático<!--
-->| Partido Progresista Democrático (República de China) = <nowiki>#1B9431</nowiki><!--
-->| Kuomintang = <nowiki>#0000AA</nowiki><!--
==== Costa Rica ====
===== Actuales =====
-->| Partido Accesibilidad Sin Exclusión = <nowiki>#4682B4</nowiki><!--
-->| Partido Acción Ciudadana = <nowiki>#FFD700 </nowiki><!--
-->| Alianza Demócrata Cristiana = <nowiki>#483D8B</nowiki><!--
-->| Partido de los Trabajadores (Costa Rica) = <nowiki>#FF0000</nowiki><!--
-->| Frente Amplio (Costa Rica) = <nowiki>#FFEF00</nowiki><!--
-->| Partido Integración Nacional = <nowiki>#122562</nowiki><!--
-->| Partido Liberación Nacional = <nowiki>#008024</nowiki><!--
-->| Partido Liberal Progresista (Costa Rica) = <nowiki>#FF7300</nowiki><!--
-->| Movimiento Libertario (Costa Rica) = <nowiki>#DC143C</nowiki><!--
-->| Partido Nueva Generación = <nowiki>#0070B8</nowiki><!--
-->| Partido Nueva República = <nowiki>#87CEFA</nowiki><!--
-->| Partido Progreso Social Democrático = <nowiki>#00FF00</nowiki><!--
-->| Renovación Costarricense = <nowiki>#0000CD</nowiki><!--
-->| Partido Republicano Social Cristiano = <nowiki>#BC141A</nowiki><!--
-->| Restauración Nacional (Costa Rica) = <nowiki>#0059CF</nowiki><!--
-->| Partido Unidad Social Cristiana = <nowiki>#0454A3</nowiki><!--
-->| Unidos Podemos (Costa Rica) = <nowiki>#8806CE</nowiki><!--
-->| Unión Liberal (Costa Rica) = <nowiki>#00008B</nowiki><!--
=====Históricos=====
-->| Bloque de Obreros y Campesinos = <nowiki>#800000</nowiki><!--
-->| Partido Comunista Costarricense = <nowiki>#8B0000</nowiki><!--
-->| Liberal (Costa Rica) = <nowiki>#BF1313</nowiki><!--
-->| Coalición Unidad = <nowiki>#2C93FB</nowiki><!--
-->| Partido Agrícola = <nowiki>#008000</nowiki><!--
-->| Partido Civil (Costa Rica) = <nowiki>#C61318</nowiki><!--
-->| Partido Constitucional (Costa Rica) = <nowiki>#00308A</nowiki><!--
-->| Vanguardia Popular (Costa Rica) = <nowiki>#AD0430</nowiki><!--
-->| Fuerza Democrática = <nowiki>#FFA500</nowiki><!--
-->| Partido Demócrata (Costa Rica) = <nowiki>#2A5C92</nowiki><!--
-->| Partido Nacional (Costa Rica) = <nowiki>#3CB35E</nowiki><!--
-->| Partido Peliquista = <nowiki>#2F4F4F</nowiki><!--
-->| Partido Republicano (Costa Rica) = <nowiki>#0018A8</nowiki><!--
-->| Partido Republicano Nacional = <nowiki>#FF1414</nowiki><!--
-->| Partido Social Demócrata (Costa Rica) = <nowiki>#542073</nowiki><!--
-->| Partido Unión Nacional (Costa Rica) = <nowiki>#204FBA</nowiki><!--
-->| Partido Unificación Nacional = <nowiki>#595CFF</nowiki><!--
-->| Pueblo Unido (Costa Rica) = <nowiki>#AD0430</nowiki><!--
==== Ecuador ====
===== Actuales =====
-->| Alianza País = <nowiki>#00FF00</nowiki><!--
-->| Avanza = <nowiki>#0000FF</nowiki><!--
-->| Izquierda Democrática (Ecuador) = <nowiki>#FFA500</nowiki><!--
-->| Movimiento AMIGO = <nowiki>#000000</nowiki><!--
-->| Movimiento Centro Democrático = <nowiki>#FF4500</nowiki><!--
-->| Movimiento Construye = <nowiki>#0041B3</nowiki><!--
-->| Movimiento CREO = <nowiki>#1B5DA6</nowiki><!--
-->| Movimiento Democracia Sí = <nowiki>#B713C5</nowiki><!--
-->| Movimiento Nacional Juntos Podemos = <nowiki>#4682B4</nowiki><!--
-->| Pachakutik = <nowiki>#FE2EC8</nowiki><!--
-->| Partido Social Cristiano = <nowiki>#FFD700</nowiki><!--
-->| Partido Socialista Ecuatoriano = <nowiki>#AA0000</nowiki><!--
-->| Partido Sociedad Patriótica = <nowiki>#006400</nowiki><!--
-->| Partido SUMA = <nowiki>#87CEFA</nowiki><!--
-->| Revolución Ciudadana = <nowiki>#00B0F6</nowiki><!--
-->| Unidad Popular (Ecuador) = <nowiki>#FF0000</nowiki><!--
=====Históricos=====
-->| Acción Popular Revolucionaria Ecuatoriana = <nowiki>#6F917C</nowiki><!--
-->| Acción Revolucionaria Nacionalista Ecuatoriana = <nowiki>#884400</nowiki><!--
-->| Coalición Institucionalista Democrática = <nowiki>#ADFF2F</nowiki><!--
-->| Concentración de Fuerzas Populares = <nowiki>#000000</nowiki><!--
-->| Democracia Popular (Ecuador) = <nowiki>#008F4C</nowiki><!--
-->| Federación Nacional Velasquista = <nowiki>#00008B</nowiki><!--
-->| Frente Radical Alfarista = <nowiki>#4169E1</nowiki><!--
-->| Fuerza Ecuador = <nowiki>#FFFF00</nowiki><!--
-->| Movimiento Ciudadanos Nuevo País = <nowiki>#90EE90</nowiki><!--
-->| Movimiento Concertación = <nowiki>#00CED1</nowiki><!--
-->| Movimiento Ecuatoriano Unido = <nowiki>#382983</nowiki><!--
-->| Movimiento Justicia Social = <nowiki>#B73622</nowiki><!--
-->| Movimiento MIRA (Ecuador) = <nowiki>#DC143C</nowiki><!--
-->| Movimiento Popular Democrático (Ecuador) = <nowiki>#FF4500</nowiki><!--
-->| Movimiento Unión Ecuatoriana = <nowiki>#DC143C</nowiki><!--
-->| Partido Comunista del Ecuador = <nowiki>#CD5C5C</nowiki><!--
-->| Partido Conservador Ecuatoriano = <nowiki>#0000FF</nowiki><!--
-->| Partido Demócrata (Ecuador) = <nowiki>#90EE90</nowiki><!--
-->| Partido Liberal Radical Ecuatoriano = <nowiki>#FF0000</nowiki><!--
-->| Partido Progresista de Ecuador = <nowiki>#ADD8E6</nowiki><!--
-->| Partido Nacionalista Revolucionario = <nowiki>#800080</nowiki><!--
-->| Partido Renovador Institucional Acción Nacional = <nowiki>#FFFF00</nowiki><!--
-->| Partido Roldosista Ecuatoriano = <nowiki>#CC0000</nowiki><!--
-->| Partido Unidad Republicana = <nowiki>#D0FF14</nowiki><!--
-->| Pueblo, Cambio y Democracia = <nowiki>#FFFF00</nowiki><!--
-->| Red Ética y Democracia = <nowiki>#000000</nowiki><!--
==== Estados Unidos ====
-->| Partido de la Constitución = <nowiki>#A356DE</nowiki><!--
-->| Partido de la Reforma de los Estados Unidos = <nowiki>#6A287E</nowiki><!--
-->| Partido Demócrata (Estados Unidos) = <nowiki>#3333FF</nowiki><!--
-->| Partido Libertario (Estados Unidos) = <nowiki>#FED105</nowiki><!--
-->| Partido de la Independencia de Minesota = <nowiki>#FFC14E</nowiki><!--
-->| Partido Republicano (Estados Unidos) = <nowiki>#E81B23</nowiki><!--
-->| Partido Verde (Estados Unidos) <!--
-->| Partido Verde de los Estados Unidos = <nowiki>#00A95C</nowiki><!--
-->| Partido Basado en la Legalización del Cannabis = <nowiki>#50C878</nowiki><!--
-->| Partido Progresista Abierto de Minesota = <nowiki>#CCFF33</nowiki><!--
-->| Partido Whig (Estados Unidos) = <nowiki>#F0C862</nowiki><!--
===== Puerto Rico =====
-->| Movimiento Victoria Ciudadana = <nowiki>#E0A230</nowiki><!--
-->| Partido del Pueblo Trabajador = <nowiki>Purple</nowiki><!--
-->| Partido Independentista Puertorriqueño = <nowiki>#2D9F4D</nowiki><!--
-->| Partido Nuevo Progresista = <nowiki>#161687</nowiki><!--
-->| Partido Popular Democrático = <nowiki>#FF3333</nowiki><!--
-->| Partido Puertorriqueños por Puerto Rico = <nowiki>#FFA500</nowiki><!--
-->| Proyecto Dignidad = <nowiki>#00B7EB</nowiki><!--
==== España ====
-->| ADCG <!--
-->| Ciudadanos de Galicia <!--
-->| Acción Democrática Ciudadanos de Galicia = <nowiki>#2E568A</nowiki><!--
-->| PACT <!--
-->| Actúa = <nowiki>#007776</nowiki><!--
-->| AA <!--
-->| Adelante Andalucía = <nowiki>#45B37A</nowiki><!--
-->| AHI <!--
-->| Agrupación Herrera Independiente = <nowiki>#298A08</nowiki><!--
-->| ARM <!--
-->| Agrupación Ruiz-Mateos = <nowiki>#28365D</nowiki><!--
-->| ASG <!--
-->| Agrupación Socialista Gomera = <nowiki>#B70C0C</nowiki><!--
-->| ATI <!--
-->| Agrupación Tinerfeña de Independientes = <nowiki>#000088</nowiki><!--
-->| AIC <!--
-->| Agrupaciones Independientes de Canarias = <nowiki>#000088</nowiki><!--
-->| AP <!--
-->| Alianza Popular = <nowiki>#FFD42A</nowiki><!--
-->| Alternatiba = <nowiki>#CE010C</nowiki><!--
-->| AGE <!--
-->| Alternativa Galega de Esquerda = <nowiki>#0094FF</nowiki><!--
-->| AAeC <!--
-->| Alto Aragón en Común = <nowiki>#B222EB</nowiki><!--
-->| Amaiur = <nowiki>#008081</nowiki><!--
-->| Andaluces Levantaos = <nowiki>#5AB491</nowiki><!--
-->| AxSí<!--
-->| AxSi<!--
-->| Andalucía por Sí = <nowiki>#83C141</nowiki><!--
-->| Andecha <!--
-->| Andecha Astur = <nowiki>#A53042</nowiki><!--
-->| Anova <!--
-->| Anova-Irmandade Nacionalista = <nowiki>#0094FF</nowiki><!--
-->| Anticapitalistas <!--
-->| Anticapitalistas (asociación) = <nowiki>#62CC62</nowiki><!--
-->| Ara Eivissa = <nowiki>#1FC6BC</nowiki><!--
-->| Ara Maó = <nowiki>#39AFB1</nowiki><!--
-->| Aralar = <nowiki>#FF0000</nowiki><!--
-->| BComú <!--
-->| BeC <!--
-->| Barcelona en Comú = <nowiki>#EA5438</nowiki><!--
-->| Batzarre = <nowiki>#BB0076</nowiki><!--
-->| BLOC <!--
-->| Bloc Nacionalista Valenciano <!--
-->| Bloc Nacionalista Valencià = <nowiki>#EC6A00</nowiki><!--
-->| BNG <!--
-->| Bloque Nacionalista Galego = <nowiki>#ADCFEF</nowiki><!--
-->| Bloque por Asturies <!--
-->| Bloque por Asturias = <nowiki>#751069</nowiki><!--
-->| CUP <!--
-->| Candidatura de Unidad Popular = <nowiki>#FFEE00</nowiki><!--
-->| Catalunya en Comú <!--
-->| CatEnComú <!--
-->| Catalunya en Comú = <nowiki>#B5333F</nowiki><!--
-->| CatEnComúPodem <!--
-->| Catalunya en Comú Podem <!--
-->| Catalunya en Comú-Podem = <nowiki>#912C45</nowiki><!--
-->| CSQP<!--
-->| Catalunya Sí que es Pot = <nowiki>#A3466D</nowiki><!--
-->| CDS <!--
-->| Centro Democrático y Social = <nowiki>#05C673</nowiki><!--
-->| CHA <!--
-->| Chunta Aragonesista = <nowiki>#AD0017</nowiki><!--
-->| Cs <!--
-->| Ciudadanos = <nowiki>#EB6109</nowiki><!--
-->| Caballas <!--
-->| Coalición Caballas = <nowiki>#C9601C</nowiki> <!--
-->| CC <!--
-->| Coalición Canaria = <nowiki>#FFD700</nowiki><!--
-->| CD <!--
-->| Coalición Democrática = <nowiki>#8E9629</nowiki><!--
-->| CG <!--
-->| Coalición Galega = <nowiki>#026CED</nowiki><!--
-->| CP <!--
-->| Coalición Popular = <nowiki>#3282A8</nowiki><!--
-->| CpM <!--
-->| Coalición por Melilla = <nowiki>#298642</nowiki><!--
-->| Compostela Aberta = <nowiki>#6BC9EC</nowiki><!--
-->| Compromís = <nowiki>#E65F00</nowiki><!--
-->| És el Moment <!--
-->| Compromís-Podemos-És el Moment = <nowiki>#FA743E</nowiki><!--
-->| A la Valenciana <!--
-->| Compromís-Podemos-EUPV: A la Valenciana = <nowiki>#2AAB8C</nowiki><!--
-->| CxG <!--
-->| Compromiso por Galicia = <nowiki>#329C3E</nowiki><!--
-->| CONTIGO <!--
-->| Contigo Somos Democracia = <nowiki>#761031</nowiki><!--
-->| CDC <!--
-->| Convergencia Democrática de Catalunya = <nowiki>#00447B</nowiki><!--
-->| CiU <!--
-->| Convergencia i Unió <!--
-->| Convergència i Unió = <nowiki>#18307B</nowiki><!--
-->| C21 <!--
-->| Converxencia 21 = <nowiki>#FDB612</nowiki><!--
-->| DC <!--
-->| Demòcrates de Catalunya <!--
-->| Demócratas de Cataluña = <nowiki>#1375CE</nowiki><!--
-->| DiL <!--
-->| Democracia y Libertad <!--
-->| Democràcia i Llibertat = <nowiki>#212765</nowiki><!--
-->| El Pi <!--
-->| El Pi-Proposta per les Illes = <nowiki>#590076</nowiki><!--
-->| ECP <!--
-->| En Comú Podem = <nowiki>#6E236E</nowiki><!--
-->| En Comú Podem2015 = <nowiki>#D42B16</nowiki><!--
-->| EC-UP <!--
-->| En Común = <nowiki>#0B0682</nowiki><!--
-->| EM <!--
-->| En Marea = <nowiki>#0036FF</nowiki><!--
-->| Equo = <nowiki>#8ABA18</nowiki><!--
-->| ERC <!--
-->| Esquerra Republicana de Catalunya = <nowiki>#FFB32E</nowiki><!--
-->| EUCat <!--
-->| Esquerra Unida Catalunya = <nowiki>#C8102E</nowiki><!--
-->| EUiA <!--
-->| Esquerra Unida i Alternativa = <nowiki>#AB1636</nowiki><!--
-->| EE <!--
-->| Euskadiko Ezkerra = <nowiki>#000000</nowiki><!--
-->| EH Bildu (2012-2023) <!--
-->| EHB (2012-2023) <!--
-->| Euskal Herria Bildu (2012-2023) = <nowiki>#C4D600</nowiki><!--
-->| EH Bildu <!--
-->| EHB <!--
-->| Euskal Herria Bildu = <nowiki>#00D0B6</nowiki><!--
-->| EH <!--
-->| Euskal Herritarrok = <nowiki>#AD0039</nowiki><!--
-->| EA <!--
-->| Eusko Alkartasuna = <nowiki>#BD2E15</nowiki><!--
-->| ExUn <!--
-->| Extremadura Unida = <nowiki>#085500</nowiki><!--
-->| FE de las JONS <!--
-->| Falange Española de las JONS= <nowiki>#EA0400</nowiki><!--
-->| FORO <!--
-->| FAC <!--
-->| Foro Asturias = <nowiki>#0082CA</nowiki><!--
-->| FR <!--
-->| Front Republicà = <nowiki>#313535</nowiki><!--
-->| GEC<!--
-->| Galicia en Común<!--
-->| Galicia en Común-Anova-Mareas = <nowiki>#0B0682</nowiki><!--
-->| GxF <!--
-->| Gent per Formentera = <nowiki>#E6057F</nowiki><!--
-->| GBai<!--
-->| Geroa Bai = <nowiki>#F75E42</nowiki><!--
-->| GCE<!--
-->| Grupo Común da Esquerda<!--
-->| Grupo Común da Esquerda = <nowiki>#6D52C1</nowiki><!--
-->| HB <!--
-->| Batasuna <!--
-->| Herri Batasuna = <nowiki>#633000</nowiki><!--
-->| IdPV <!--
-->| Iniciativa del Pueblo Valenciano <!--
-->| Iniciativa del Poble Valencià = <nowiki>#AB233C</nowiki><!--
-->| IFem<!--
-->| Iniciativa Feminista = <nowiki>#E3287A</nowiki><!--
-->| ICV <!--
-->| Iniciativa per Catalunya Verds = <nowiki>#009966</nowiki><!--
-->| ICV-EUiA <!--
-->| Iniciativa per Catalunya Verds-Esquerra Unida i Alternativa = <nowiki>#86AE33</nowiki><!--
-->| IZCA <!--
-->| Izquierda Castellana = <nowiki>#800080</nowiki><!--
-->| IZQP<!--
-->| Izquierda en Positivo = <nowiki>#9B0F40</nowiki><!--
-->| IU <!--
-->| Izquierda Unida (España) = <nowiki>#DF0022</nowiki><!--
-->| I-E <!--
-->| Izquierda-Ezkerra = <nowiki>#C8102E</nowiki><!--
-->| JxSí <!--
-->| Junts pel Sí = <nowiki>#5AB6A1</nowiki><!--
-->| JxCAT <!--
-->| JxCat <!--
-->| Junts per Catalunya = <nowiki>#EE5976</nowiki><!--
-->| Junts <!--
-->| Junts per Catalunya = <nowiki>#20C0C2</nowiki><!--
-->| La Falange <!--
-->| La Falange (partido) = <nowiki>#000000</nowiki><!--
-->| LxE <!--
-->| Libres por Euskadi = <nowiki>#47B7AF</nowiki><!--
-->| LFF <!--
-->| Liga Foralista Foruzaleak <!--
-->| Liga Foralista = <nowiki>#20B14A</nowiki><!--
-->| Marea Atlántica = <nowiki>#00AEEF</nowiki><!--
-->| Marea Galeguista = <nowiki>#255C7A</nowiki><!--
-->| MM <!--
-->| Más Madrid = <nowiki>#45BB89</nowiki><!--
-->| MP <!--
-->| Más País = <nowiki>#06DFC5</nowiki><!--
-->| Més-Esquerra <!--
-->| Més Esquerra = <nowiki>#DACE5D</nowiki><!--
-->| MÉS <!--
-->| Més per Mallorca = <nowiki>#CBD100</nowiki><!--
-->| MxMe <!--
-->| Més per Menorca = <nowiki>#CBD146</nowiki><!--
-->| MDyC <!--
-->| Movimiento por la Dignidad y la Ciudadanía = <nowiki>#0D6600</nowiki><!--
-->| NaBai <!--
-->| Nafarroa Bai = <nowiki>#E20A15</nowiki><!--
-->| NA+ <!--
-->| Navarra Suma = <nowiki>#2A52BE</nowiki><!--
-->| NCa <!--
-->| Nueva Canarias = <nowiki>#85BD42</nowiki><!--
-->| OE <!--
-->| Ongi Etorri = <nowiki>#FFFF05</nowiki><!--
-->| PA <!--
-->| Partido Andalucista = <nowiki>#1CA838</nowiki><!--
-->| PACMA <!--
-->| Partido Animalista Contra el Maltrato Animal = <nowiki>#00FF7F</nowiki><!--
-->| PAR <!--
-->| Partido Aragonés = <nowiki>#FFB812</nowiki><!--
-->| PCAN <!--
-->| Partido Cantonal (España) = <nowiki>#99011A</nowiki><!--
-->| Partido Carlista (1970) = <nowiki>#DC143C</nowiki><!--
-->| PCAS <!--
-->| Partido Castellano-Tierra Comunera = <nowiki>#660099</nowiki><!--
-->| PCE <!--
-->| Partido Comunista de España = <nowiki>#D70729</nowiki><!--
-->| PCPE <!--
-->| Partido Comunista de los Pueblos de España = <nowiki>#BF0E1D</nowiki><!--
-->| PCTE <!--
-->| Partido Comunista de los Trabajadores de España = <nowiki>#BF0E1D</nowiki><!--
-->| PCOE <!--
-->| Partido Comunista Obrero Español = <nowiki>#FB3D42</nowiki><!--
-->| PDP <!--
-->| Partido Demócrata Popular = <nowiki>#50A750</nowiki><!--
-->| PASOC <!--
-->| Partido de Acción Socialista = <nowiki>#FF0002</nowiki><!--
-->| AU.TO.NO.MO<!--
-->| Partido de los Autónomos y Profesionales = <nowiki>#000000</nowiki><!--
-->| PSC <!--
-->| Partido de los Socialistas de Cataluña = <nowiki>#E10916</nowiki><!--
-->| PDeCAT<!--
-->| Partido Demócrata Europeo Catalán = <nowiki>#005CA9</nowiki><!--
-->| PH <!--
-->| Partido Humanista (España) = <nowiki>#FF753A</nowiki><!--
-->| P-LIB <!--
-->| Partido Libertario = <nowiki>#C9A900</nowiki><!--
-->| PNC <!--
-->| Partido Nacionalista Canario = <nowiki>#059085</nowiki><!--
-->| PNV <!--
-->| Partido Nacionalista Vasco = <nowiki>#008000</nowiki><!--
-->| Partido Pirata (España) = <nowiki>#660087</nowiki><!--
-->| PP (2008-2022)<!--
-->| Partido Popular (2008-2022) = <nowiki>#1D84CE</nowiki><!--
-->| PP <!--
-->| Partido Popular = <nowiki>#1E4B8F</nowiki><!--
-->| PP+Cs <!--
-->| PPCs <!--
-->| Partido Popular+Ciudadanos = <nowiki>#7198B6</nowiki><!--
-->| PRC <!--
-->| Partido Regionalista de Cantabria = <nowiki>#C3CF04</nowiki><!--
-->| PR+ <!--
-->| Partido Riojano = <nowiki>#64A903</nowiki><!--
-->| PSE <!--
-->| Partido Socialista de Euskadi = <nowiki>#CD5C5C</nowiki><!--
-->| PSOE <!--
-->| Partido Socialista Obrero Español = <nowiki>#FF0000</nowiki><!--
-->| PSUC <!--
-->| Partido Socialista Unificado de Cataluña = <nowiki>#D61316</nowiki><!--
-->| PPSO <!--
-->| Plataforma del Pueblo Soriano = <nowiki>#12689A</nowiki><!--
-->| Podemos = <nowiki>#9370DB</nowiki><!--
-->| Por Andalucía = <nowiki>#009B7D</nowiki><!--
-->| XAV <!--
-->| Por Ávila = <nowiki>#F7D70E</nowiki><!--
-->| PUM+J <!--
-->| Por un Mundo Más Justo = <nowiki>#4BBCED</nowiki><!--
-->| PYLN <!--
-->| Puyalón <!--
-->| Puyalón de Cuchas = <nowiki>#FF003C</nowiki><!--
-->| Recortes Cero <!--
-->| R0 <!--
-->| Recortes Cero-Los Verdes = <nowiki>#00872B</nowiki><!--
-->| Soberanistas <!--
-->| Sobiranistes = <nowiki>#B8226F</nowiki><!--
-->| SR <!--
-->| Somos Región = <nowiki>#F9EB4C</nowiki><!--
-->| Sumar <!--
-->| Movimiento Sumar <!--
-->| Sumar = <nowiki>#E51C55</nowiki><!--
-->| TE <!--
-->| Teruel Existe = <nowiki>#007351</nowiki><!--
-->| Tierra Comunera = <nowiki>#660099</nowiki><!--
-->| UPeC <!--
-->| Unidad Popular en Común <!--
-->| Unidad Popular (España) = <nowiki>#732021</nowiki><!--
-->| UP <!--
-->| Unidas Podemos = <nowiki>#693279</nowiki><!--
-->| Unidas Podemos por Andalucía = <nowiki>#307b36</nowiki><!--
-->| Unidos Podemos = <nowiki>#612D62</nowiki><!--
-->| UNIDOS <!--
-->| UNIDOS por el Futuro <!--
-->| Unidos por el Futuro = <nowiki>#615F8B</nowiki><!--
-->| UCD <!--
-->| Unión de Centro Democrático = <nowiki>#197E36</nowiki><!--
-->| UCDE <!--
-->| Unión Cristiano Demócrata Española = <nowiki>#000087</nowiki><!--
-->| UDC <!--
-->| Unión Democrática de Cataluña = <nowiki>#0033A9</nowiki><!--
-->| UN <!--
-->| Unión Nacional = <nowiki>#00008B</nowiki><!--
-->| UPC <!--
-->| Unión del Pueblo Canario = <nowiki>#FFD700</nowiki><!--
-->| UPL <!--
-->| Unión del Pueblo Leonés = <nowiki>#C71585</nowiki><!--
-->| UPN <!--
-->| Unión del Pueblo Navarro = <nowiki>#2A52BE</nowiki><!--
-->| UV <!--
-->| Unió Valenciana <!--
-->| Unión Valenciana = <nowiki>#1F4473</nowiki><!--
-->| Units <!--
-->| Units per Avançar = <nowiki>#EC185B</nowiki><!--
-->| UPCA <!--
-->| Unión para el Progreso de Cantabria = <nowiki>#2E8B57</nowiki><!--
-->| UPyD <!--
-->| Unión Progreso y Democracia = <nowiki>#EC008C</nowiki><!--
-->| URAS <!--
-->| Unión Renovadora Asturiana = <nowiki>#00D8D8</nowiki><!--
-->| Voces Progresistas <!--
-->| Veus Progressistes = <nowiki>#DACE5D</nowiki><!--
-->| Vox <!--
-->| Vox (partido político) = <nowiki>#63BE21</nowiki><!--
-->| Zabaltzen = <nowiki>#BB0000</nowiki><!--
==== Estonia ====
-->| Estonia 200 = <nowiki>#06778D</nowiki><!--
-->| Isamaa = <nowiki>#009CE2</nowiki><!--
-->| Partido del Centro Estonio = <nowiki>#007557</nowiki><!--
-->| Partido de la Coalición Estonia = <nowiki>#F0953A</nowiki><!--
-->| Partido de la Constitución (Estonia) = <nowiki>#E56509</nowiki><!--
-->| Partido de la Independencia Estonia = <nowiki>#6495ED</nowiki><!--
-->| Partido de la Izquierda Unida Estonia = <nowiki>#FF0000</nowiki><!--
-->| Partido de los Demócratas Cristianos Estonios = <nowiki>#1E2D80</nowiki><!--
-->| Partido Libre Estonio = <nowiki>#0086CF</nowiki><!--
-->| Partido Popular Conservador de Estonia = <nowiki>#0063AF</nowiki><!--
-->| Partido Reformista Estonio = <nowiki>#FBCF05</nowiki><!--
-->| Partido Res Publica = <nowiki>#04427C</nowiki><!--
-->| Partido Socialdemócrata (Estonia) = <nowiki>#E10600</nowiki><!--
-->| Unión Popular de Estonia = <nowiki>#F5B453</nowiki><!--
-->| Unión Pro Patria = <nowiki>#014F9A</nowiki><!--
-->| Unión Pro Patria y Res Publica = <nowiki>#00AEEF</nowiki><!--
-->| Verdes Estonios = <nowiki>#80BB3D</nowiki><!--
==== Europa ====
===== Partidos =====
-->| Alianza Libre Europea = <nowiki>#671B88</nowiki><!--
-->| Alianza por la Paz y la Libertad = <nowiki>#000000</nowiki><!--
-->| Europa de la Libertad y la Democracia Directa = <nowiki>#24B9B9</nowiki><!--
-->| Europa de las Naciones y de las Libertades = <nowiki>#2B3856</nowiki><!--
-->| Movimiento Político Cristiano Europeo = <nowiki>#303278</nowiki><!--
-->| Identidad y Democracia<!--
-->| Partido Identidad y Democracia = <nowiki>#004B93</nowiki><!--
-->| Alianza de los Liberales y Demócratas por Europa <!--
-->| Partido de la Alianza de los Liberales y Demócratas por Europa = <nowiki>gold</nowiki><!--
-->| Partido de la Izquierda Europea = <nowiki>maroon</nowiki><!--
-->| Conservadores y Reformistas Europeos <!--
-->| Alianza de los Conservadores y Reformistas Europeos <!--
-->| Partido de los Conservadores y Reformistas Europeos = <nowiki>#0054A5</nowiki><!--
-->| Partido Demócrata Europeo = <nowiki>#EE9900</nowiki><!--
-->| Partido Pirata Europeo = <nowiki>#000000</nowiki><!--
-->| Partido Popular Europeo = <nowiki>#3399FF</nowiki><!--
-->| Partido de los Socialistas Europeos = <nowiki>#F0001C</nowiki><!--
-->| Partido Verde Europeo = <nowiki>#99CC33</nowiki><!--
-->| Volt <!--
-->| Volt Europa = <nowiki>#582C83</nowiki><!--
===== Grupos parlamentarios =====
-->| Izquierda Unitaria Europea/Izquierda Verde Nórdica <!--
-->| Grupo Confederal de la Izquierda Unitaria Europea/Izquierda Verde Nórdica = <nowiki>#990000</nowiki><!--
-->| Alianza Progresista de Socialistas y Demócratas <!--
-->| Grupo de la Alianza Progresista de Socialistas y Demócratas = <nowiki>#FF0000</nowiki><!--
-->| Grupo de Los Verdes/Alianza Libre Europea = <nowiki>#009900</nowiki><!--
-->| Grupo Unión por la Europa de las Naciones = <nowiki>#4F6BA2</nowiki><!--
-->| No inscritos (Parlamento Europeo) = <nowiki>#999999</nowiki><!--
==== Finlandia ====
-->| Alianza de la Izquierda = <nowiki>#F00A64</nowiki><!--
-->| Demócrata Cristianos (Finlandia) = <nowiki>#0235A4</nowiki><!--
-->| Liga Agraria (Finlandia) = <nowiki>#74C365</nowiki><!--
-->| Liga Verde = <nowiki>#61BF1A</nowiki><!--
-->| Partido Coalición Nacional = <nowiki>#006288</nowiki><!--
-->| Partido del Centro (Finlandia) = <nowiki>#01954B</nowiki><!--
-->| Partido de la Juventud Finlandesa = <nowiki>#3399FF</nowiki><!--
-->| Partido de los Finlandeses = <nowiki>#FFDE55</nowiki><!--
-->| Partido Finlandés = <nowiki>#3333FF</nowiki><!--
-->| Partido Pirata (Finlandia) = <nowiki>#660099</nowiki><!--
-->| Partido Popular Sueco de Finlandia = <nowiki>#FFDD93</nowiki><!--
-->| Partido Progresista Nacional (Finlandia) = <nowiki>gold</nowiki><!--
-->| Partido Socialdemócrata de Finlandia = <nowiki>#E11931</nowiki><!--
=== Granada ===
-->| Nuevo Partido Nacional (Granada) = <nowiki>#006B31</nowiki><!--
-->| Congreso Nacional Democrático (Granada) = <nowiki>#FECA09</nowiki><!--
-->| Partido Laborista Unido de Granada = <nowiki>#D50000</nowiki><!--
-->| Partido Nacional de Granada = <nowiki>#026701</nowiki><!--
-->| Movimiento New Jewel = <nowiki>#FFA500</nowiki><!--
-->| El Partido Nacional (Granada) = <nowiki>#EF7E2E</nowiki><!--
-->| Partido de Renacimiento de Granada = <nowiki>#4BACC6</nowiki><!--
-->| Movimiento Democrático Popular (Granada) = <nowiki>#366091</nowiki><!--
==== Italia ====
; Alianzas nacionales (incluyendo históricas)
-->| Alianza de los Progresistas = <nowiki>#D90000</nowiki><!--
-->| Área Popular = <nowiki>#1464BE</nowiki><!--
-->| Bloques Nacionales = <nowiki>#15317E</nowiki><!--
-->| Casa de las Libertades = <nowiki>#0A6BE1</nowiki><!--
-->| Coalición de centroderecha = <nowiki>#0A6BE1</nowiki><!--
-->| Coalición de centroizquierda = <nowiki>#EF3E3E</nowiki><!--
-->| Compromiso histórico = <nowiki>#FF91A4</nowiki><!--
-->| Con Monti por Italia = <nowiki>#5A8BE3</nowiki><!--
-->| Derecha histórica = <nowiki>#1E87B2</nowiki><!--
-->| El Olivo = <nowiki>#EF3E3E</nowiki><!--
-->| Elección Cívica = <nowiki>#1560BD</nowiki><!--
-->| Elección Europea = <nowiki>#6495ED</nowiki><!--
-->| Europa Verde = <nowiki>#73C170</nowiki><!--
-->| Extrema izquierda histórica = <nowiki>#00542E</nowiki><!--
-->| Frente Democrático Popular (Italia) = <nowiki>#EE2C21</nowiki><!--
-->| Italia. Bien Común = <nowiki>#EF3E3E</nowiki><!--
-->| Izquierda disidente = <nowiki>#66CC99</nowiki><!--
-->| Izquierda histórica = <nowiki>#2E8B57</nowiki><!--
-->| Izquierda Independiente (Italia) = <nowiki>#CE2029</nowiki><!--
-->| Juntos (Italia) = <nowiki>#3CB371</nowiki><!--
-->| La Izquierda (Italia) = <nowiki>#CB2725</nowiki><!--
-->| La Otra Europa con Tsipras = <nowiki>#C80000</nowiki><!--
-->| La Unión (Italia) = <nowiki>#EF3E3E</nowiki><!--
-->| Libres e Iguales (Italia) = <nowiki>#C72837</nowiki><!--
-->| Lista Cívica Popular = <nowiki>#DF0174</nowiki><!--
-->| Más Europa = <nowiki>gold</nowiki><!--
-->| Nosotros con Italia = <nowiki>#1F6BB8</nowiki><!--
-->| Pacto de Demócratas = <nowiki>darkorange</nowiki><!--
-->| Pacto por la Autonomía = <nowiki>#0055AB</nowiki><!--
-->| Poder al Pueblo (Italia) = <nowiki>#A0142E</nowiki><!--
-->| Polo del Buen Gobierno <!--
-->| Polo de las Libertades = <nowiki>#0A6BE1</nowiki><!--
-->| Polo por las Libertades = <nowiki>#0A6BE1</nowiki><!--
-->| Por las Autonomías = <nowiki>#FF8581</nowiki><!--
-->| PSI-PSDI Unificados = <nowiki>#ED2855</nowiki><!--
-->| Revolución Civil = <nowiki>#FF6600</nowiki><!--
-->| Rosa en el Puño = <nowiki>#FFD700</nowiki><!--
-->| Valle de Aosta (coalición) = <nowiki>#48D1CC</nowiki><!--
; Partidos políticos (incluyendo regionales e históricos)
-->| Acción (Italia) = <nowiki>#0039AA</nowiki><!--
-->| Acción Nacional (Italia) = <nowiki>#336699</nowiki><!--
-->| Alianza Democrática (Italia) = <nowiki>#228B22</nowiki><!--
-->| Alianza Nacional (Italia) = <nowiki>#004E99</nowiki><!--
-->| Alianza Liberal Popular = <nowiki>#3366FF</nowiki><!--
-->| Alianza por Italia = <nowiki>#89CFF0</nowiki><!--
-->| Alianza Siciliana = <nowiki>#004F91</nowiki><!--
-->| Alternativa Independiente para Italianos en el extranjero = <nowiki>#FFF100</nowiki><!--
-->| Alternativa Popular = <nowiki>#1464BE</nowiki><!--
-->| Alternativa Social = <nowiki>#000080</nowiki><!--
-->| Área Progresista = <nowiki>#F87431</nowiki><!--
-->| Artículo Uno = <nowiki>#D21B30</nowiki><!--
-->| Asociaciones Italianas en Sudamérica = <nowiki>#2B346C</nowiki><!--
-->| Asociación Nacionalista Italiana = <nowiki>#00008B</nowiki><!--
-->| Autonomía Libertad Democracia = <nowiki>#E56717</nowiki><!--
-->| Autonomistas Independientes = <nowiki>#EBECF0</nowiki><!--
-->| Cambiamo! = <nowiki>#E58321</nowiki><!--
-->| CasaPound = <nowiki>#000000</nowiki><!--
-->| Centristas por Europa = <nowiki>lightblue</nowiki><!--
-->| Centro Cristiano Democrático = <nowiki>lightskyblue</nowiki><!--
-->| Centro Democrático (Italia) = <nowiki>#FF9900</nowiki><!--
-->| Conservadores y Reformistas (Italia) = <nowiki>#0054A5</nowiki><!--
-->| Coraggio Italia = <nowiki>#E5007D</nowiki><!--
-->| Cristianos Democráticos Unidos = <nowiki>lightblue</nowiki><!--
-->| Democracia Cristiana (Italia) = <nowiki>#87CEFA</nowiki><!--
-->| Democracia Cristiana (Italia, 2002) = <nowiki>#1560BD</nowiki><!--
-->| Democracia Cristiana por las Autonomías = <nowiki>#ADD8E6</nowiki><!--
-->| Democracia es Libertad-La Margarita = <nowiki>#3CB371</nowiki><!--
-->| Democracia Proletaria = <nowiki>#A1292F</nowiki><!--
-->| Democracia Solidaria = <nowiki>#449192</nowiki><!--
-->| Democracia y Autonomía = <nowiki>#E4601D</nowiki><!--
-->| Demócratas de Izquierda = <nowiki>#C72F35</nowiki><!--
-->| Demócratas Populares = <nowiki>#BCD4E6</nowiki><!--
-->| Die Freiheitlichen = <nowiki>#1560BD</nowiki><!--
-->| 10 Veces Mejor = <nowiki>#F56000</nowiki><!--
-->| Diventerà Bellissima = <nowiki>#086A87</nowiki><!--
-->| El Pueblo de la Familia = <nowiki>#342D7E</nowiki><!--
-->| El Pueblo de la Libertad = <nowiki>#0087DC</nowiki><!--
-->| Energías para Italia = <nowiki>#FBB917</nowiki><!--
-->| Fasces Italianos de Combate <!--
-->| Fasci italiani di combattimento = <nowiki>#000000</nowiki><!--
-->| Federación de los Liberales = <nowiki>#0047AB</nowiki><!--
-->| Federación de las Listas Verdes <!--
-->| Federación de los Verdes = <nowiki>#6CC417</nowiki><!--
-->| Forza Italia (1994) = <nowiki>#0087DC</nowiki><!--
-->| Forza Italia (2013) = <nowiki>#0087DC</nowiki><!--
-->| Fuerza Nueva (Italia) = <nowiki>#000000</nowiki><!--
-->| Futuro y Libertad = <nowiki>#1C39BB</nowiki><!--
-->| Gran Norte = <nowiki>#0045AA</nowiki><!--
-->| Gran Sur = <nowiki>#FF7F00</nowiki><!--
-->| ¡Hacer! = <nowiki>#FFFA00</nowiki><!--
-->| Hacer para Detener el Declive = <nowiki>#F00000</nowiki><!--
-->| Hermanos de Italia = <nowiki>#03386A</nowiki><!--
-->| Identidad y Acción = <nowiki>#0045AA</nowiki><!--
-->| Independencia Véneta = <nowiki>#FBDA38</nowiki><!--
-->| Italia de los Valores = <nowiki>#FFA500</nowiki><!--
-->| Italia en Común = <nowiki>#349655</nowiki><!--
-->| Italia Viva = <nowiki>#D6418C</nowiki><!--
-->| Izquierda Ecología Libertad = <nowiki>#C80815</nowiki><!--
-->| Izquierda Italiana = <nowiki>#EF3E3E</nowiki><!--
-->| La Derecha (Italia) = <nowiki>#030E40</nowiki><!--
-->| Liberales, Demócratas y Radicales = <nowiki>Gold</nowiki><!--
-->| Liga de Acción Meridional = <nowiki>#00008B</nowiki><!--
-->| Liga (Italia) <!--
-->| Liga Norte = <nowiki>#008000</nowiki><!--
-->| Lista Pannella = <nowiki>#FFD700</nowiki><!--
-->| Lista Tosi por Véneto = <nowiki>#ADD8E6</nowiki><!--
-->| Llama Tricolor = <nowiki>#000000</nowiki><!--
-->| Los Demócratas = <nowiki>#FF9E5E</nowiki><!--
-->| Los Populares de Italia Mañana = <nowiki>#4763B0</nowiki><!--
-->| Los Socialistas Italianos = <nowiki>red</nowiki><!--
-->| Moderados (Italia) = <nowiki>#008ECE</nowiki><!--
-->| Movimiento Asociativo Italianos en el Exterior = <nowiki>#333B8E</nowiki><!--
-->| Movimiento 5 Estrellas = <nowiki>#FFEB3B</nowiki><!--
-->| Movimiento Nacional por la Soberanía = <nowiki>#2B3856</nowiki><!--
-->| Movimiento Naranja = <nowiki>#FF6600</nowiki><!--
-->| Movimiento Político Schittulli = <nowiki>#1464BE</nowiki><!--
-->| Movimiento por las Autonomías = <nowiki>#00CCCC</nowiki><!--
-->| Movimiento por la Democracia-La Red = <nowiki>#DF0174</nowiki><!--
-->| Movimiento Republicanos Europeos = <nowiki>#008000</nowiki><!--
-->| Movimiento Social Italiano = <nowiki>#000000</nowiki><!--
-->| Nosotros con Salvini = <nowiki>#0F52BA</nowiki><!--
-->| Nueva Centroderecha = <nowiki>#05517E</nowiki><!--
-->| Nuevo Partido Socialista Italiano <!--
-->| Nuevo PSI = <nowiki>salmon</nowiki><!--
-->| Pacto Segni = <nowiki>Gold</nowiki><!--
-->| Partido Agrario (Italia) = <nowiki>#006600</nowiki><!--
-->| Partido Autonomista Trentino Tirolés = <nowiki>#000000</nowiki><!--
-->| Partido Comunista de Italia <!--
-->| Partido Comunista Italiano = <nowiki>#C72F35</nowiki><!--
-->| Partido Comunista de los Trabajadores (Italia) = <nowiki>#DC142F</nowiki><!--
-->| Partido Comunista (Italia) = <nowiki>#F00000</nowiki><!--
-->| Partido de Acción = <nowiki>#009246</nowiki><!--
-->| Partido de Acción (1848) = <nowiki>#F0002B</nowiki><!--
-->| Partido de la Alternativa Comunista = <nowiki>maroon</nowiki><!--
-->| Partido de la Refundación Comunista = <nowiki>#A1292F</nowiki><!--
-->| Partido Comunista Italiano (2016) <!--
-->| Partido Comunista de Italia (2014) <!--
-->| Partido de los Comunistas Italianos = <nowiki>#FC2D2D</nowiki><!--
-->| Partido de los Pensionistas (Italia) = <nowiki>#1560BD</nowiki><!--
-->| Partido de los Sardos = <nowiki>#ED6D16</nowiki><!--
-->| Partido de Unidad Proletaria (Italia) = <nowiki>#922727</nowiki><!--
-->| Partido Demócrata de Izquierda <!--
-->| Partido Democrático de la Izquierda = <nowiki>#C72F35</nowiki><!--
-->| Partido Demócrata (Italia) <!--
-->| Partido Democrático (Italia) = <nowiki>#EF1C27</nowiki><!--
-->| Partido Democrático Constitucional (Italia) = <nowiki>#6495ED</nowiki><!--
-->| Partido Democrático del Trabajo = <nowiki>Pink</nowiki><!--
-->| Partido Liberal Democrático (Italia) = <nowiki>Gold</nowiki><!--
-->| Partido Democrático Social Italiano = <nowiki>#1E99C5</nowiki><!--
-->| Partido Fascista Republicano = <nowiki>#000000</nowiki><!--
-->| Partido Liberal Italiano = <nowiki>#2975C2</nowiki><!--
-->| Partido Liberal Italiano (1997) = <nowiki>#2975C2</nowiki><!--
-->| Partido Moderado (Italia) = <nowiki>#1E87B2</nowiki><!--
-->| Partido Monárquico Popular = <nowiki>#002366</nowiki><!--
-->| Partido Nacional Fascista = <nowiki>#000000</nowiki><!--
-->| Partido Democrático Italiano de Unidad Monárquica <!--
-->| Partido Nacional Monárquico = <nowiki>#536CE8</nowiki><!--
-->| Partido Popular del Tirol del Sur = <nowiki>#000000</nowiki><!--
-->| Partido Popular Italiano (1919) = <nowiki>#87CEFA</nowiki><!--
-->| Partido Popular Italiano (1994) = <nowiki>#B6CCFB</nowiki><!--
-->| Partido Radical Italiano = <nowiki>#00542E</nowiki><!--
-->| Partido Radical (Italia) = <nowiki>orange</nowiki><!--
-->| Partido Republicano Italiano = <nowiki>#3CB371</nowiki><!--
-->| Partido Sardo de Acción = <nowiki>#282828</nowiki><!--
-->| Partido Socialista Democrático Italiano = <nowiki>#FF8282</nowiki><!--
-->| Partido Socialista Democrático Italiano (2004) = <nowiki>#DC142F</nowiki><!--
-->| Partido Socialista Italiano = <nowiki>#ED2855</nowiki><!--
-->| Partido Socialista Italiano (2007) = <nowiki>#DC143C</nowiki><!--
-->| Partido Socialista Reformista Italiano = <nowiki>Pink</nowiki><!--
-->| Partido Socialista Unitario (1922) = <nowiki>#E35A5A</nowiki><!--
-->| Pentapartito = <nowiki>#FF9966</nowiki><!--
-->| Populares por Italia = <nowiki>#0D4AA5</nowiki><!--
-->| Unión de Demócratas por Europa <!--
-->| Populares UDEUR = <nowiki>#FF7F00</nowiki><!--
-->| Por Italia = <nowiki>lightskyblue</nowiki><!--
-->| Por Italia en el Mundo con Tremaglia = <nowiki>#2577B3</nowiki><!--
-->| Por Nuestro Valle = <nowiki>#9BDDFF</nowiki><!--
-->| Posible (Italia) = <nowiki>#993366</nowiki><!--
-->| Proyecto República de Cerdeña = <nowiki>#479C54</nowiki><!--
-->| Radicales Italianos = <nowiki>#FFD700</nowiki><!--
-->| Reformadores Sardos = <nowiki>#2B65EC</nowiki><!--
-->| Renacimiento (partido político búlgaro) = <nowiki>#56A5EC</nowiki><!--
-->| Renovación Italiana = <nowiki>#1935D0</nowiki><!--
-->| Sicilianos Libres = <nowiki>gold</nowiki><!--
-->| Socialistas Demócratas Italianos = <nowiki>#ED1B34</nowiki><!--
-->| Socialistas Italianos = <nowiki>red</nowiki><!--
-->| Edelweiss (partido político) <!--
-->| Stella Alpina = <nowiki>#1989D4</nowiki><!--
-->| Unidad Socialista (Italia) = <nowiki>#FF8282</nowiki><!--
-->| Unión Autonomista Ladina = <nowiki>#6495ED</nowiki><!--
-->| Unión de Centro (1993) = <nowiki>#659EC7</nowiki><!--
-->| Unión de Centro (2002) = <nowiki>#87CEFA</nowiki><!--
-->| Unión Democrática (Italia) = <nowiki>#800080</nowiki><!--
-->| Unión Democrática por la República = <nowiki>orange</nowiki><!--
-->| Unión Electoral Católica Italiana = <nowiki>#000000</nowiki><!--
-->| Unión Eslovena = <nowiki>#0055AB</nowiki><!--
-->| Unión Liberal (Italia) = <nowiki>#0047AB</nowiki><!--
-->| Unión por Trentino = <nowiki>#89CFF0</nowiki><!--
-->| Unión Sudamericana Emigrantes Italianos = <nowiki>#DEE573</nowiki><!--
-->| Unión Valdostana = <nowiki>#4A9FD5</nowiki><!--
-->| Unión Valdostana Progresista (2013) = <nowiki>#F07636</nowiki><!--
-->| Verdes (Tirol del Sur) = <nowiki>#6B8E23</nowiki><!--
-->| Yo el Sur = <nowiki>#0A5C8A</nowiki><!--
==== Macedonia del Norte ====
-->| Alternativa Democrática (Macedonia del Norte) = <nowiki>#800080</nowiki><!--
-->| Nuevo Partido Socialdemócrata = <nowiki>#9999CC</nowiki><!--
-->| VMRO-DPMNE <!--
-->| Organización Revolucionaria Interna de Macedonia - Partido Democrático para la Unidad Nacional Macedonia = <nowiki>#BF0202</nowiki><!--
-->| Partido Liberal de Macedonia = <nowiki>#FFFF00</nowiki><!--
-->| Partido Liberal Democrático (Macedonia del Norte) = <nowiki>#2B2F7D</nowiki><!--
-->| Unión Democrática por la Integración = <nowiki>#344B9B</nowiki><!--
-->| Unión Socialdemócrata de Macedonia = <nowiki>#033A73</nowiki><!--
==== México ====
-->| Movimiento Ciudadano = <nowiki>#FFA500</nowiki><!--
-->| Movimiento Regeneración Nacional = <nowiki>#B5261E</nowiki><!--
-->| Nueva Alianza (partido político) = <nowiki>#48D1CC</nowiki><!--
-->| Partido Acción Nacional = <nowiki>#05338D</nowiki><!--
-->| Partido Encuentro Social = <nowiki>#800080</nowiki><!--
-->| Partido de la Revolución Democrática = <nowiki>#FFD700</nowiki><!--
-->| Partido del Trabajo (México) = <nowiki>#DA251D</nowiki><!--
-->| Partido Revolucionario Institucional = <nowiki>#009150</nowiki><!--
-->| Partido Verde Ecologista de México = <nowiki>#04B404</nowiki><!--
==== Noruega ====
-->| Høyre = <nowiki>#87ADD7</nowiki><!--
-->| Partido de Centro (Noruega) = <nowiki>#008542</nowiki><!--
-->| Partido de la Izquierda Socialista = <nowiki>#BC2149</nowiki><!--
-->| Partido del Progreso (Noruega) = <nowiki>#024C93</nowiki><!--
-->| Partido Demócrata Cristiano (Noruega) = <nowiki>#FEC11E</nowiki><!--
-->| Partido Laborista (Noruega) = <nowiki>#E31836</nowiki><!--
-->| Partido Rojo = <nowiki>#E73445</nowiki><!--
-->| Partido Verde (Noruega) = <nowiki>#5D961C</nowiki><!--
-->| Venstre (Noruega) = <nowiki>#116468</nowiki><!--
==== Nueva Zelanda ====
-->| ACT Nueva Zelanda = <nowiki>#FDE401</nowiki><!--
-->| Futuro Unido = <nowiki>#501557</nowiki><!--
-->| Nueva Zelanda Primero = <nowiki>#000000</nowiki><!--
-->| Partido Laborista de Nueva Zelanda = <nowiki>#D82A20</nowiki><!--
-->| Partido Maorí = <nowiki>#B2001A</nowiki><!--
-->| Partido Nacional de Nueva Zelanda = <nowiki>#00529F</nowiki><!--
-->| Partido Verde de Aotearoa Nueva Zelanda = <nowiki>#098137</nowiki><!--
==== Reino Unido ====
-->| Liberal Demócratas (Reino Unido) = <nowiki>#FAA61A</nowiki><!--
-->| Conservative Party (UK) <!-- alias
-->| Partido Conservador (Reino Unido) = <nowiki>#0087DC</nowiki><!--
-->| Partido de la Alianza de Irlanda del Norte = <nowiki>#F6CB2F</nowiki><!--
-->| Partido del Brexit = <nowiki>#12B6CF</nowiki><!--
-->| Partido de la Independencia del Reino Unido = <nowiki>#70147A</nowiki><!--
-->| Labour Party (UK) <!-- alias
-->| Partido Laborista (Reino Unido) = <nowiki>#E4003B</nowiki><!--
-->| Partido Nacional Escocés = <nowiki>#FDF38E</nowiki><!--
-->| Partido Unionista del Ulster = <nowiki>#48A5EE</nowiki><!--
-->| Partido Unionista Democrático = <nowiki>#D46A4C</nowiki><!--
-->| Partido Verde de Inglaterra y Gales = <nowiki>#6AB023</nowiki><!--
-->| Plaid Cymru = <nowiki>#008142</nowiki><!--
-->| Sinn Féin = <nowiki>#326760</nowiki><!--
==== República Dominicana ====
-->| Alianza País (República Dominicana) = <nowiki>#009999</nowiki><!--
-->| Bloque Institucional Socialdemócrata <!--
-->| Bloque Institucional Social Demócrata = <nowiki>#004569</nowiki><!--
-->| Frente Amplio (República Dominicana) = <nowiki>#FFD700</nowiki><!--
-->| Fuerza del Pueblo = <nowiki>#00AB5A</nowiki><!--
-->| Fuerza Nacional Progresista = <nowiki>#2A52BE</nowiki><!--
-->| Partido Cívico Renovador = <nowiki>#183B69</nowiki><!--
-->| Partido de la Liberación Dominicana = <nowiki>#641294</nowiki><!--
-->| Partido de Unidad Nacional (República Dominicana) = <nowiki>#008000</nowiki><!--
-->| Partido Dominicanos por el Cambio = <nowiki>#00B2EB</nowiki><!--
-->| Partido Quisqueyano Demócrata Cristiano = <nowiki>#FDF200</nowiki><!--
-->| Partido Reformista Social Cristiano = <nowiki>#FF0000</nowiki><!--
-->| Partido Revolucionario Dominicano = <nowiki>#99CCFF</nowiki><!--
-->| Partido Revolucionario Moderno = <nowiki>#005BAC</nowiki><!--
-->| Partido Revolucionario Social Demócrata = <nowiki>#0057A3</nowiki><!--
-->| Partido Socialista Verde = <nowiki>#017114</nowiki><!--
==== Rumania ====
===== Antes del desarrollo del sistema moderno de partidos =====
-->| Conservador (Rumania) = <nowiki>#6495ED</nowiki><!--
-->| Conservador moderado (Rumania) = <nowiki>#DDEEFF</nowiki><!--
-->| Liberal moderado (Rumania) = <nowiki>#D7B9FF</nowiki><!--
-->| Liberal radical (Rumania) = <nowiki>#EAD6EA</nowiki><!--
===== Sistema moderno de partidos =====
-->| Frente de Labradores = <nowiki>#FFAEA5</nowiki><!--
-->| Frente de Renacimiento Nacional (Rumania) = <nowiki>#000080</nowiki><!--
-->| Frente de Salvación Nacional (Rumania) = <nowiki>#DA70D6</nowiki><!--
-->| Partido Comunista Rumano = <nowiki>#BF0000</nowiki><!--
-->| Partido Conservador (Rumania, 1880-1918) = <nowiki>#F5F5DC</nowiki><!--
-->| Partido Conservador-Democrático = <nowiki>#DDEEFF</nowiki><!--
-->| Partido Demócrata Liberal (Rumania) = <nowiki>#FF6633</nowiki><!--
-->| Partido Nacional Campesino = <nowiki>#E6E6AA</nowiki><!--
-->| Partido Nacional Campesino Cristiano Demócrata = <nowiki>#004A92</nowiki><!--
-->| Partido Nacional Cristiano (Rumania) = <nowiki>#A52A2A</nowiki><!--
-->| Partido Nacional Liberal (Rumania) = <nowiki>#FFDD00</nowiki><!--
-->| Partido Nacional Rumano = <nowiki>#E6E6AA</nowiki><!--
-->| Partido Nacionalista Demócrata (Rumania) = <nowiki>#000000</nowiki><!--
-->| Partido Popular (Rumania) = <nowiki>#ADD8E6</nowiki><!--
-->| Partido Socialdemócrata (Rumania) = <nowiki>#BF0202</nowiki><!--
-->| Unión Democrática de Húngaros en Rumania = <nowiki>#339900</nowiki><!--
-->| Unión Nacional por el Progreso de Rumania = <nowiki>#B21415</nowiki><!--
==== Singapur ====
-->| Alianza de Singapur = <nowiki>#800080</nowiki><!--
-->| Partido de la Alianza (Malasia) = <nowiki>#000080</nowiki><!--
-->| Alianza Popular de Singapur <!--
-->| Alianza del Pueblo de Singapur = <nowiki>#EE0000</nowiki><!--
-->| Alianza Democrática de Singapur = <nowiki>#92C640</nowiki><!--
-->| Barisan Sosialis = <nowiki>#ADD8E6</nowiki><!--
-->| Consejo Conjunto de la Oposición = <nowiki>#00FF00</nowiki><!--
-->| Convención Solidaria de Malasia = <nowiki>#0052A1</nowiki><!--
-->| Frente Laborista = <nowiki>#804020</nowiki><!--
-->| Frente Nacional Unido (Singapur) = <nowiki>#34ABCD</nowiki><!--
-->| Frente Popular (Singapur) = <nowiki>#2E2ED4</nowiki><!--
-->| Frente Popular Unido (Singapur) = <nowiki>#00CC00</nowiki><!--
-->| Organización Nacional Malaya de Singapur = <nowiki>#01CC00</nowiki><!--
-->| Partido de Acción Popular = <nowiki>#0052A1</nowiki><!--
-->| Partido de la Justicia de Singapur = <nowiki>#CDCC00</nowiki><!--
-->| Partido de la Solidaridad Nacional (Singapur) = <nowiki>#FF9999</nowiki><!--
-->| Partido de los Ciudadanos (Singapur) = <nowiki>#FF0000</nowiki><!--
-->| Partido de los Trabajadores (Singapur) = <nowiki>#DA2128</nowiki><!--
-->| Partido del Poder Popular (Singapur) = <nowiki>#CC222F</nowiki><!--
-->| Partido del Progreso de Singapur = <nowiki>#ED2435</nowiki><!--
-->| Partido del Pueblo Unido (Singapur) = <nowiki>#0055FE</nowiki><!--
-->| Partido Demócrata de Singapur = <nowiki>#BC0001</nowiki><!--
-->| Partido Democrático (Singapur) = <nowiki>#00BFFF</nowiki><!--
-->| Partido Democrático Progresista (Singapur) = <nowiki>#FF9900</nowiki><!--
-->| Partido Laborista (Singapur) = <nowiki>#E2893A</nowiki><!--
-->| Partido Liberal Socialista (Singapur) = <nowiki>#E05B3C</nowiki><!--
-->| Partido Popular de Singapur = <nowiki>#AA0099</nowiki><!--
-->| Partido Progresista (Singapur) = <nowiki>#7789EF</nowiki><!--
-->| Partido Reformista (Singapur) = <nowiki>#FFDD44</nowiki><!--
-->| Punto Rojo Unido = <nowiki>#D21615</nowiki><!--
-->| Singapurenses Primero = <nowiki>#4365DD</nowiki><!--
-->| Unión Malaya (partido político) = <nowiki>#00008B</nowiki><!--
-->| Voz de los Pueblos = <nowiki>#92238D</nowiki><!--
==== Suecia ====
-->| Alternativa para Suecia = <nowiki>#000095</nowiki><!--
-->| Demócratas Cristianos (Suecia) = <nowiki>#2D338E</nowiki><!--
-->| Demócratas de Suecia = <nowiki>#FEDF09</nowiki><!--
-->| Iniciativa Feminista (Suecia) = <nowiki>#CD1B68</nowiki><!--
-->| Liberales (Suecia) = <nowiki>#0069B4</nowiki><!--
-->| Partido del Centro (Suecia) = <nowiki>#39944A</nowiki><!--
-->| Partido Comunista (Suecia) = <nowiki>#990000</nowiki><!--
-->| Partido Comunista de Suecia (1995) = <nowiki>#990000</nowiki><!--
-->| Partido de la Izquierda = <nowiki>#B00000</nowiki><!--
-->| Partido Moderado (Suecia) = <nowiki>#019CDB</nowiki><!--
-->| Partido Pirata (Suecia) = <nowiki>#572B85</nowiki><!--
-->| Partido Socialdemócrata Sueco = <nowiki>#ED1B34</nowiki><!--
-->| Partido Verde (Suecia) = <nowiki>#00C554</nowiki><!--
==== Uruguay ====
-->| Cabildo Abierto (partido político) = <nowiki>#FABE1F</nowiki><!--
-->| Frente Amplio (Uruguay) = <nowiki>#0E4477</nowiki><!--
-->| Partido Colorado (Uruguay) = <nowiki>#BB0000</nowiki><!--
-->| Partido Comunista de Uruguay = <nowiki>#8B0000</nowiki><!--
-->| Partido de la Gente (Uruguay) = <nowiki>#78C75A</nowiki><!--
-->| Partido Independiente (Uruguay) = <nowiki>#500778</nowiki><!--
-->| Partido Nacional (Uruguay) = <nowiki>#80BFFF</nowiki><!--
-->| Partido Nacional Independiente (Uruguay) = <nowiki>#00008B</nowiki><!--
-->| Partido Ecologista Radical Intransigente = <nowiki>#009001</nowiki><!--
-->| Partido Socialista del Uruguay = <nowiki>#008000</nowiki><!--
-->| Unidad Popular (Uruguay) = <nowiki>#000000</nowiki><!--
-->| Unión Cívica (Uruguay) = <nowiki>#0000FF</nowiki><!--
-->| Nuevo Espacio = <nowiki>#BA55D3</nowiki><!--
==== Zambia ====
-->| Frente Patriótico (Zambia) = <nowiki>#3064B0</nowiki><!--
-->| Partido Unido para el Desarrollo Nacional = <nowiki>#D23438</nowiki><!--
-->| Movimiento para la Democracia Multipartidista = <nowiki>#0055D9</nowiki><!--
-->| Partido Unido de la Independencia Nacional = <nowiki>#177618</nowiki><!--
-->| Foro para la Democracia y el Desarrollo = <nowiki>#228C22</nowiki><!--
-->| Congreso Nacional Africano de Zambia = <nowiki>#FFCC00</nowiki><!--
-->| Congreso Democrático de Zambia = <nowiki>#984EA3</nowiki><!--
-->| Partido de la Nueva Herencia = <nowiki>#F0B300</nowiki><!--
-->| Partido Democrático (Zambia) = <nowiki>#FF338C</nowiki><!--
-->| Partido Socialista (Zambia) = <nowiki>#DE2827</nowiki><!--
==== Otros ====
-->| Militar = <nowiki>#556B2F</nowiki><!--
-->| Independientes <!--
-->| Independiente = <nowiki>#B3B3B3</nowiki><!--
-->| Otros <!--
-->| Otro = <nowiki>#DFDFDF</nowiki><!--
==== Valor por defecto ====
-->|#default=inherit
}}</includeonly><noinclude>
[[Categoría:Wikipedia:Plantillas de colores]]
{{Documentación}}
</noinclude>
7b321865f0c64c3506c6941de3074e34d0c94465
Plantilla:Resultados electorales
10
87
173
172
2024-01-02T19:49:58Z
Superballing2008
2
1 revisión importada
wikitext
text/x-wiki
<includeonly>{| class="wikitable {{#switch:{{lc:{{{ordenable|sí}}}}}|si|sí=sortable}}" style="margin: auto; text-align: center;"
{{#if:{{{título|}}}|
{{!}}+ {{{título}}}
{{!}}-
}}
! colspan="4" style="padding: 0; width: 200px; {{#switch:{{lc:{{{ordenable|sí}}}}}|si|sí=padding-right: 4px; width: 200px;}}" | {{{elección|}}}
! colspan="{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no|2|3}}" style="padding: 0; width: 100px; {{#switch:{{lc:{{{ordenable|sí}}}}}|si|sí=padding-right: 4px; width: 100px;}}" | {{{vuelta|}}}
|-
{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|
! colspan="4" {{!}} {{{título_partidos|Partido/Coalición}}}
|
! colspan="3" {{!}} {{{título_nombres|Candidato}}}
! {{{título_partidos|Partido/Coalición}}}
}}
! Votos
! Porcentaje
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
! {{{título_escaños|Escaños}}}
}}
|-
{{#if: {{{color1|}}}{{{imagen1|}}}{{{nombre1|}}}{{{partido1|}}}{{{votos1|}}}{{{porcentaje1|}}} |
{{!}} {{#if: {{{color1|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color1|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido1|}}}|{{{nombre1|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen1|}}} | [[Archivo:{{{imagen1|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre1|}}} | {{{nombre1|}}} | —}} {{!!}} }} {{#if: {{{partido1|}}} | {{{partido1|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos1|}}} | {{{votos1|}}} | —}}
{{!}} {{#if: {{{porcentaje1|}}} | {{barra de porcentaje|{{{porcentaje1|0.00}}}|c={{{color1|#C5000B}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños1|}}} | {{Ficha de partido político/escaños|hex={{{color1|#C5000B}}}|{{{escaños1|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color2|}}}{{{imagen2|}}}{{{nombre2|}}}{{{partido2|}}}{{{votos2|}}}{{{porcentaje2|}}} |
{{!}} {{#if: {{{color2|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color2|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido2|}}}|{{{nombre2|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen2|}}} | [[Archivo:{{{imagen2|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre2|}}} | {{{nombre2|}}} | —}} {{!!}} }} {{#if: {{{partido2|}}} | {{{partido2|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos2|}}} | {{{votos2|}}} | —}}
{{!}} {{#if: {{{porcentaje2|}}} | {{barra de porcentaje|{{{porcentaje2|0.00}}}|c={{{color2|#0084D1}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños2|}}} | {{Ficha de partido político/escaños|hex={{{color2|#0084D1}}}|{{{escaños2|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color3|}}}{{{imagen3|}}}{{{nombre3|}}}{{{partido3|}}}{{{votos3|}}}{{{porcentaje3|}}} |
{{!}} {{#if: {{{color3|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color3|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido3|}}}|{{{nombre3|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen3|}}} | [[Archivo:{{{imagen3|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre3|}}} | {{{nombre3|}}} | —}} {{!!}} }} {{#if: {{{partido3|}}} | {{{partido3|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos3|}}} | {{{votos3|}}} | —}}
{{!}} {{#if: {{{porcentaje3|}}} | {{barra de porcentaje|{{{porcentaje3|0.00}}}|c={{{color3|#579D1C}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños3|}}} | {{Ficha de partido político/escaños|hex={{{color3|#579D1C}}}|{{{escaños3|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color4|}}}{{{imagen4|}}}{{{nombre4|}}}{{{partido4|}}}{{{votos4|}}}{{{porcentaje4|}}} |
{{!}} {{#if: {{{color4|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color4|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido4|}}}|{{{nombre4|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen4|}}} | [[Archivo:{{{imagen4|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre4|}}} | {{{nombre4|}}} | —}} {{!!}} }} {{#if: {{{partido4|}}} | {{{partido4|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos4|}}} | {{{votos4|}}} | —}}
{{!}} {{#if: {{{porcentaje4|}}} | {{barra de porcentaje|{{{porcentaje4|0.00}}}|c={{{color4|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños4|}}} | {{Ficha de partido político/escaños|hex={{{color4|#FFD320}}}|{{{escaños4|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color5|}}}{{{imagen5|}}}{{{nombre5|}}}{{{partido5|}}}{{{votos5|}}}{{{porcentaje5|}}} |
{{!}} {{#if: {{{color5|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color5|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido5|}}}|{{{nombre5|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen5|}}} | [[Archivo:{{{imagen5|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre5|}}} | {{{nombre5|}}} | —}} {{!!}} }} {{#if: {{{partido5|}}} | {{{partido5|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos5|}}} | {{{votos5|}}} | —}}
{{!}} {{#if: {{{porcentaje5|}}} | {{barra de porcentaje|{{{porcentaje5|0.00}}}|c={{{color5|#83CAFF}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños5|}}} | {{Ficha de partido político/escaños|hex={{{color5|#83CAFF}}}|{{{escaños5|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color6|}}}{{{imagen6|}}}{{{nombre6|}}}{{{partido6|}}}{{{votos6|}}}{{{porcentaje6|}}} |
{{!}} {{#if: {{{color6|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color6|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido6|}}}|{{{nombre6|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen6|}}} | [[Archivo:{{{imagen6|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre6|}}} | {{{nombre6|}}} | —}} {{!!}} }} {{#if: {{{partido6|}}} | {{{partido6|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos6|}}} | {{{votos6|}}} | —}}
{{!}} {{#if: {{{porcentaje6|}}} | {{barra de porcentaje|{{{porcentaje6|0.00}}}|c={{{color6|#4B1F6F}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños6|}}} | {{Ficha de partido político/escaños|hex={{{color6|#4B1F6F}}}|{{{escaños6|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color7|}}}{{{imagen7|}}}{{{nombre7|}}}{{{partido7|}}}{{{votos7|}}}{{{porcentaje7|}}} |
{{!}} {{#if: {{{color7|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color7|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido7|}}}|{{{nombre7|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen7|}}} | [[Archivo:{{{imagen7|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre7|}}} | {{{nombre7|}}} | —}} {{!!}} }} {{#if: {{{partido7|}}} | {{{partido7|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos7|}}} | {{{votos7|}}} | —}}
{{!}} {{#if: {{{porcentaje7|}}} | {{barra de porcentaje|{{{porcentaje7|0.00}}}|c={{{color7|#FF950E}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños7|}}} | {{Ficha de partido político/escaños|hex={{{color7|#FF950E}}}|{{{escaños7|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color8|}}}{{{imagen8|}}}{{{nombre8|}}}{{{partido8|}}}{{{votos8|}}}{{{porcentaje8|}}} |
{{!}} {{#if: {{{color8|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color8|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido8|}}}|{{{nombre8|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen8|}}} | [[Archivo:{{{imagen8|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre8|}}} | {{{nombre8|}}} | —}} {{!!}} }} {{#if: {{{partido8|}}} | {{{partido8|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos8|}}} | {{{votos8|}}} | —}}
{{!}} {{#if: {{{porcentaje8|}}} | {{barra de porcentaje|{{{porcentaje8|0.00}}}|c={{{color8|#004587}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños8|}}} | {{Ficha de partido político/escaños|hex={{{color8|#004587}}}|{{{escaños8|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color9|}}}{{{imagen9|}}}{{{nombre9|}}}{{{partido9|}}}{{{votos9|}}}{{{porcentaje9|}}} |
{{!}} {{#if: {{{color9|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color9|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido9|}}}|{{{nombre9|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen9|}}} | [[Archivo:{{{imagen9|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre9|}}} | {{{nombre9|}}} | —}} {{!!}} }} {{#if: {{{partido9|}}} | {{{partido9|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos9|}}} | {{{votos9|}}} | —}}
{{!}} {{#if: {{{porcentaje9|}}} | {{barra de porcentaje|{{{porcentaje9|0.00}}}|c={{{color9|#7E0021}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños9|}}} | {{Ficha de partido político/escaños|hex={{{color9|#7E0021}}}|{{{escaños9|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color10|}}}{{{imagen10|}}}{{{nombre10|}}}{{{partido10|}}}{{{votos10|}}}{{{porcentaje10|}}} |
{{!}} {{#if: {{{color10|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color10|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido10|}}}|{{{nombre10|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen10|}}} | [[Archivo:{{{imagen10|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre10|}}} | {{{nombre10|}}} | —}} {{!!}} }} {{#if: {{{partido10|}}} | {{{partido10|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos10|}}} | {{{votos10|}}} | —}}
{{!}} {{#if: {{{porcentaje10|}}} | {{barra de porcentaje|{{{porcentaje10|0.00}}}|c={{{color10|#314004}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños10|}}} | {{Ficha de partido político/escaños|hex={{{color10|#314004}}}|{{{escaños10|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color11|}}}{{{imagen11|}}}{{{nombre11|}}}{{{partido11|}}}{{{votos11|}}}{{{porcentaje11|}}} |
{{!}} {{#if: {{{color11|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color11|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido11|}}}|{{{nombre11|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen11|}}} | [[Archivo:{{{imagen11|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre11|}}} | {{{nombre11|}}} | —}} {{!!}} }} {{#if: {{{partido11|}}} | {{{partido11|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos11|}}} | {{{votos11|}}} | —}}
{{!}} {{#if: {{{porcentaje11|}}} | {{barra de porcentaje|{{{porcentaje11|0.00}}}|c={{{color11|#C5000B}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños11|}}} | {{Ficha de partido político/escaños|hex={{{color11|#C5000B}}}|{{{escaños11|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color12|}}}{{{imagen12|}}}{{{nombre12|}}}{{{partido12|}}}{{{votos12|}}}{{{porcentaje12|}}} |
{{!}} {{#if: {{{color12|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color12|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido12|}}}|{{{nombre12|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen12|}}} | [[Archivo:{{{imagen12|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre12|}}} | {{{nombre12|}}} | —}} {{!!}} }} {{#if: {{{partido12|}}} | {{{partido12|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos12|}}} | {{{votos12|}}} | —}}
{{!}} {{#if: {{{porcentaje12|}}} | {{barra de porcentaje|{{{porcentaje12|0.00}}}|c={{{color12|#0084D1}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños12|}}} | {{Ficha de partido político/escaños|hex={{{color12|#0084D1}}}|{{{escaños12|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color13|}}}{{{imagen13|}}}{{{nombre13|}}}{{{partido13|}}}{{{votos13|}}}{{{porcentaje13|}}} |
{{!}} {{#if: {{{color13|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color13|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido13|}}}|{{{nombre13|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen13|}}} | [[Archivo:{{{imagen13|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre13|}}} | {{{nombre13|}}} | —}} {{!!}} }} {{#if: {{{partido13|}}} | {{{partido13|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos13|}}} | {{{votos13|}}} | —}}
{{!}} {{#if: {{{porcentaje13|}}} | {{barra de porcentaje|{{{porcentaje13|0.00}}}|c={{{color13|#579D1C}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños13|}}} | {{Ficha de partido político/escaños|hex={{{color13|#579D1C}}}|{{{escaños13|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color14|}}}{{{imagen14|}}}{{{nombre14|}}}{{{partido14|}}}{{{votos14|}}}{{{porcentaje14|}}} |
{{!}} {{#if: {{{color14|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color14|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido14|}}}|{{{nombre14|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen14|}}} | [[Archivo:{{{imagen14|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre14|}}} | {{{nombre14|}}} | —}} {{!!}} }} {{#if: {{{partido14|}}} | {{{partido14|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos14|}}} | {{{votos14|}}} | —}}
{{!}} {{#if: {{{porcentaje14|}}} | {{barra de porcentaje|{{{porcentaje14|0.00}}}|c={{{color14|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños14|}}} | {{Ficha de partido político/escaños|hex={{{color14|#FFD320}}}|{{{escaños14|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color15|}}}{{{imagen15|}}}{{{nombre15|}}}{{{partido15|}}}{{{votos15|}}}{{{porcentaje15|}}} |
{{!}} {{#if: {{{color15|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color15|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido15|}}}|{{{nombre15|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen15|}}} | [[Archivo:{{{imagen15|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre15|}}} | {{{nombre15|}}} | —}} {{!!}} }} {{#if: {{{partido15|}}} | {{{partido15|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos15|}}} | {{{votos15|}}} | —}}
{{!}} {{#if: {{{porcentaje15|}}} | {{barra de porcentaje|{{{porcentaje15|0.00}}}|c={{{color15|#83CAFF}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños15|}}} | {{Ficha de partido político/escaños|hex={{{color15|#83CAFF}}}|{{{escaños15|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
{{#if: {{{color16|}}}{{{imagen16|}}}{{{nombre16|}}}{{{partido16|}}}{{{votos16|}}}{{{porcentaje16|}}} |
{{!}} {{#if: {{{color16|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color16|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido16|}}}|{{{nombre16|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen16|}}} | [[Archivo:{{{imagen16|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre16|}}} | {{{nombre16|}}} | —}} {{!!}} }} {{#if: {{{partido16|}}} | {{{partido16|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos16|}}} | {{{votos16|}}} | —}}
{{!}} {{#if: {{{porcentaje16|}}} | {{barra de porcentaje|{{{porcentaje16|0.00}}}|c={{{color16|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños16|}}} | {{Ficha de partido político/escaños|hex={{{color16|#FFD320}}}|{{{escaños16|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color17|}}}{{{imagen17|}}}{{{nombre17|}}}{{{partido17|}}}{{{votos17|}}}{{{porcentaje17|}}} |
{{!}} {{#if: {{{color17|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color17|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido17|}}}|{{{nombre17|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen17|}}} | [[Archivo:{{{imagen17|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre17|}}} | {{{nombre17|}}} | —}} {{!!}} }} {{#if: {{{partido17|}}} | {{{partido17|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos17|}}} | {{{votos17|}}} | —}}
{{!}} {{#if: {{{porcentaje17|}}} | {{barra de porcentaje|{{{porcentaje17|0.00}}}|c={{{color17|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños17|}}} | {{Ficha de partido político/escaños|hex={{{color17|#FFD320}}}|{{{escaños17|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color18|}}}{{{imagen18|}}}{{{nombre18|}}}{{{partido18|}}}{{{votos18|}}}{{{porcentaje18|}}} |
{{!}} {{#if: {{{color18|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color18|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido18|}}}|{{{nombre18|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen18|}}} | [[Archivo:{{{imagen18|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre18|}}} | {{{nombre18|}}} | —}} {{!!}} }} {{#if: {{{partido18|}}} | {{{partido18|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos18|}}} | {{{votos18|}}} | —}}
{{!}} {{#if: {{{porcentaje18|}}} | {{barra de porcentaje|{{{porcentaje18|0.00}}}|c={{{color18|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños18|}}} | {{Ficha de partido político/escaños|hex={{{color18|#FFD320}}}|{{{escaños18|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color19|}}}{{{imagen19|}}}{{{nombre19|}}}{{{partido19|}}}{{{votos19|}}}{{{porcentaje19|}}} |
{{!}} {{#if: {{{color19|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color19|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido19|}}}|{{{nombre19|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen19|}}} | [[Archivo:{{{imagen19|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre19|}}} | {{{nombre19|}}} | —}} {{!!}} }} {{#if: {{{partido19|}}} | {{{partido19|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos19|}}} | {{{votos19|}}} | —}}
{{!}} {{#if: {{{porcentaje19|}}} | {{barra de porcentaje|{{{porcentaje19|0.00}}}|c={{{color19|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños19|}}} | {{Ficha de partido político/escaños|hex={{{color19|#FFD320}}}|{{{escaños19|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color20|}}}{{{imagen20|}}}{{{nombre20|}}}{{{partido20|}}}{{{votos20|}}}{{{porcentaje20|}}} |
{{!}} {{#if: {{{color20|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color20|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido20|}}}|{{{nombre20|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen20|}}} | [[Archivo:{{{imagen20|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre20|}}} | {{{nombre20|}}} | —}} {{!!}} }} {{#if: {{{partido20|}}} | {{{partido20|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos20|}}} | {{{votos20|}}} | —}}
{{!}} {{#if: {{{porcentaje20|}}} | {{barra de porcentaje|{{{porcentaje20|0.00}}}|c={{{color20|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños20|}}} | {{Ficha de partido político/escaños|hex={{{color20|#FFD320}}}|{{{escaños20|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
{{#if: {{{color21|}}}{{{imagen21|}}}{{{nombre21|}}}{{{partido21|}}}{{{votos21|}}}{{{porcentaje21|}}} |
{{!}} {{#if: {{{color21|}}} | colspan="{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no|2|1}}" style="background-color: {{{color21|}}}" {{!}} }} <span style="display: none;" class="sortkey">{{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no|{{{partido21|}}}|{{{nombre21|}}}}}</span>
{{#ifeq:{{lc:{{{mostrar_imágenes|sí}}}}}|no||
{{!}} {{#if: {{{imagen21|}}} | [[Archivo:{{{imagen21|}}}|25px]] }}
}}
{{!}} {{#ifeq:{{lc:{{{mostrar_nombres|sí}}}}}|no| colspan="2" {{!}} | {{#if: {{{nombre21|}}} | {{{nombre21|}}} | —}} {{!!}} }} {{#if: {{{partido21|}}} | {{{partido21|}}} | —}}
{{!}} align="right" {{!}} {{#if: {{{votos21|}}} | {{{votos21|}}} | —}}
{{!}} {{#if: {{{porcentaje21|}}} | {{barra de porcentaje|{{{porcentaje21|0.00}}}|c={{{color21|#FFD320}}}}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
{{!}} {{#if: {{{escaños21|}}} | {{Ficha de partido político/escaños|hex={{{color21|#FFD320}}}|{{{escaños21|}}}|{{{escaños_totales|}}}}} | —}}
}}
{{!}}-
}}
}}
|- style="line-height: 1em;"
! colspan="4" style="font-size: small;" | Total de votos válidos
! style="font-weight: normal; text-align: right;" | {{{votos_válidos|}}}
! style="font-weight: normal;" | {{#if: {{{porcentaje_votos_válidos|}}} | {{barra de porcentaje|{{{porcentaje_votos_válidos|}}}||C0C0C0}} | —}}
{{#ifeq:{{lc:{{{mostrar_escaños|no}}}}}|no||
! {{{escaños_totales|}}}
{{!}}-
}}
{{!}}-
{{#if: {{{votos_nulos|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small; " {{!}} Votos nulos
! style="font-weight: normal; text-align: right;" {{!}} {{{votos_nulos|}}}
! style="font-weight: normal;" {{!}} {{#if: {{{porcentaje_votos_nulos|}}} | {{barra de porcentaje|{{{porcentaje_votos_nulos|}}}||C0C0C0}} | —}}
{{!}}-
}}
{{!}}-
{{#if: {{{candiaturas_no_registradas|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small; " {{!}} Candidaturas no registradas
! style="font-weight: normal; text-align: right;" {{!}} {{{candidaturas_no_registradas|}}}
! style="font-weight: normal;" {{!}} {{#if: {{{porcentaje_candidaturas_no_registradas|}}} | {{barra de porcentaje|{{{candidaturas_votos_no_registradas|}}}||C0C0C0}} | —}}
{{!}}-
}}
{{#if: {{{votos_en_blanco|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small;" {{!}} Votos en blanco
! style="font-weight: normal; text-align: right;" {{!}} {{{votos_en_blanco|}}}
! style="font-weight: normal;" {{!}} {{#if: {{{porcentaje_votos_en_blanco|}}} | {{barra de porcentaje|{{{porcentaje_votos_en_blanco|}}}||C0C0C0}} | —}}
{{!}}-
}}
{{#if: {{{votos_emitidos|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small;" {{!}} Total de votos emitidos (participación)
! style="text-align: right;" {{!}} {{{votos_emitidos|}}}
! {{#if: {{{porcentaje_participación|}}} | {{barra de porcentaje|{{{porcentaje_participación|}}}||808080}} | —}}
{{!}}-
}}
{{#if: {{{abstención|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" style="font-size: small;" {{!}} Abstención
! style="text-align: right;" {{!}} {{{abstención|}}}
! {{#if: {{{porcentaje_abstención|}}} | {{barra de porcentaje|{{{porcentaje_abstención|}}}||808080}} | —}}
{{!}}-
}}
{{#if: {{{inscritos|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" {{!}} Habitantes inscritos
! style="text-align: right; border-right: none;" {{!}} {{{inscritos|}}}
! style="border-left: none;" {{!}}
{{!}}-
}}
{{#if: {{{población|}}} |
{{!}}- style="line-height: 1em;"
! colspan="4" {{!}} Población
! style="text-align: right; border-right: none;" {{!}} {{{población|}}}
! style="border-left: none;" {{!}}
{{!}}-
}}
{{#if: {{{anotaciones|}}} |
{{!}}-
! colspan="6" {{!}} {{{anotaciones|}}}
}}
{{#if: {{{fuente|}}} |
{{!}}-
! colspan="6" {{!}} {{{fuente|}}}
}}
|}</includeonly><noinclude>
{{documentación}}</noinclude>
ed0f46a04ba05e46473e769a6e59d54147689fab
Módulo:Wikidata/mensajes
828
88
175
174
2024-01-02T19:49:58Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
return {
["errores"] = {
["property-param-not-provided"] = "Parámetro de la propiedad no proporcionado.",
["entity-not-found"] = "Entrada no encontrada.",
["unknown-claim-type"] = "Tipo de notificación desconocida.",
["unknown-snak-type"] = "Tipo de dato desconocido.",
["unknown-datavalue-type"] = "Formato de dato desconocido.",
["unknown-entity-type"] = "Tipo de entrada desconocido.",
["unknown-value-module"] = "Debe ajustar ambos parámetros de valor y el svalor del módulo de funciones.",
["value-module-not-found"] = "No se ha encontrado el módulo apuntado por valor-módulo.",
["value-function-not-found"] = "No se ha encontrado la función apuntada por valor-función.",
["other entity"] = "Enlaces a elementos diferentes desactivado."
},
["somevalue"] = "''valor desconocido''",
["novalue"] = ""
}
44b4f9ac40eee3d4a9ad31ffac217e368f652354
Módulo:Wikidata/modulosTipos
828
89
177
176
2024-01-02T19:49:59Z
Superballing2008
2
1 revisión importada
Scribunto
text/plain
return {
['altura'] = 'Módulo:Wikidata/Formato magnitud',
['área'] = 'Módulo:Wikidata/Formato magnitud',
['bandera'] = 'Módulo:Wikidata/Formatos país',
['educado en'] = 'Módulo:Wikidata/Formatos educación',
['imagen'] = 'Módulo:Wikidata/Formato imagen',
['lugar'] = 'Módulo:Wikidata/Formato lugar',
['formatoLugar']= 'Módulo:Wikidata/Formato lugar',
['magnitud'] = 'Módulo:Wikidata/Formato magnitud',
['movimiento'] = 'Módulo:Wikidata/Formato movimiento',
['periodicidad']= 'Módulo:Wikidata/Formato magnitud',
['premio'] = 'Módulo:Wikidata/Formato premio',
}
1e116b09ae75ecd589f3aa21209e6ef4e6d15f9e
Elecciones presidenciales de Argentina de 1995 en San Luis
0
90
178
2024-01-02T20:08:32Z
Superballing2008
2
Página creada con «=== Texto de título === {{Ficha de elección | compacto = sí | ancho = 50 | nombre_elección = Elecciones presidenciales de 1995 en San Luis | endisputa = <small>Presidente para el período 1995-1999</small> | país = Argentina | tipo = [[Presidente de la Nación Argentina|Presidencial]] | período = 8 de julio de 1995<br>10 de diciembre de 1999 | encurso = no | elección_an…»
wikitext
text/x-wiki
=== Texto de título ===
{{Ficha de elección
| compacto = sí
| ancho = 50
| nombre_elección = Elecciones presidenciales de 1995 en San Luis
| endisputa = <small>Presidente para el período 1995-1999</small>
| país = Argentina
| tipo = [[Presidente de la Nación Argentina|Presidencial]]
| período = 8 de julio de 1995<br>10 de diciembre de 1999
| encurso = no
| elección_anterior = Elecciones presidenciales de Argentina de 1989 en San Luis
| fecha_anterior = 1989
| siguiente_elección = Elecciones presidenciales de Argentina de 1999 en San Luis
| siguiente_fecha = 1999
| fecha_elección = Domingo 14 de mayo de 1995
| participación = 82.08
| participación_ant = 85.31
| habitantes = 34994818
| registrados = 22178201
| votantes = 18203924
| válidos = 17395284 (95.56%)
| blancos = 653443 (3.59%)
| nulos = 125112 (0.69%)
<!-- Carlos Menem -->
| ancho1 = 54
| imagen1 = File:Menem con banda presidencial (recortada).jpg
| coalición1 = Apoyado por
| partido1_coalición1 = [[Partido Justicialista]]
| partido2_coalición1 = [[Unión del Centro Democrático]]
| partido3_coalición1 = [[Partido Federal (1973)|Partido Federal]] <small>(Nacional)</small>
| partido4_coalición1 = [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]]
| partido5_coalición1 = Movimiento Línea Popular
| partido6_coalición1 = ''Otros partidos''
| candidato1 = [[Carlos Menem]]
| color1 = {{Color político|Partido Justicialista}}
| partido1 = [[Partido Justicialista|PJ]]
| votos1 = 87.369
| votos1_ant = 87.369
| porcentaje1 = 55.33
<!-- José Octavio Bordón -->
| ancho2 = 64
| imagen2 = Archivo:José_Octavio_Bordón.png
| género2 = hombre
| candidato2 = [[José Octavio Bordón]]
| color2 = {{Color político|Frente País Solidario}}
| partido2 = [[Política Abierta para la Integridad Social|PAIS]]
| coalición2 = [[Frente País Solidario]]
| partido1_coalición2 = [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
| partido2_coalición2 = Democracia Popular para el Frente Social
| partido3_coalición2 = [[Frente Grande]]
| partido4_coalición2 = [[Partido Intransigente]]
| partido5_coalición2 = [[Política Abierta para la Integridad Social]]
| partido6_coalición2 = [[Partido Socialista Democrático (Argentina)|Partido Socialista Democrático]]
| partido7_coalición2 = [[Partido Socialista Popular (Argentina)|Partido Socialista Popular]]<br>[[Cruzada Renovadora]]<br>Frente de Liberación 12 de Mayo
| votos2 = 39.944
| porcentaje2 = 25.30
<!-- Horacio Massaccesi -->
| ancho3 = 64
| imagen3 = File:Horacio_Massaccesi_1995.png
| género3 = hombre
| candidato3 = [[Horacio Massaccesi]]
| color3 = {{Color político|Unión Cívica Radical}}
| partido3 = [[Unión Cívica Radical|UCR]]
| coalición3 = Apoyado por
| partido1_coalición3 = [[Unión Cívica Radical]]
| partido2_coalición3 = [[Movimiento de Integración y Desarrollo]]
| partido3_coalición3 = [[Partido Federal (1973)|Partido Federal]] <small>(Córdoba)</small>
| votos3 = 27.038
| votos3_ant = 27.038
| porcentaje3 = 17.12
}}
d8b6163f985199bea1e96f8e869fd380fb678a78
180
178
2024-01-02T20:14:48Z
Superballing2008
2
wikitext
text/x-wiki
=== Texto de título ===
{{Ficha de elección
| compacto = sí
| ancho = 50
| nombre_elección = Elecciones presidenciales de 1995 en San Luis
| endisputa = <small>Presidente para el período 1995-1999</small>
| país = Argentina
| tipo = [[Presidente de la Nación Argentina|Presidencial]]
| período = 8 de julio de 1995<br>10 de diciembre de 1999
| encurso = no
| elección_anterior = Elecciones presidenciales de Argentina de 1989 en San Luis
| fecha_anterior = 1989
| siguiente_elección = Elecciones presidenciales de Argentina de 1999 en San Luis
| siguiente_fecha = 1999
| fecha_elección = Domingo 14 de mayo de 1995
| participación = 82.08
| participación_ant = 85.31
| habitantes = 34994818
| registrados = 22178201
| votantes = 18203924
| válidos = 17395284 (95.56%)
| blancos = 653443 (3.59%)
| nulos = 125112 (0.69%)
<!-- Carlos Menem -->
| ancho1 = 54
| imagen1 = File:Menem con banda presidencial (recortada).jpg
| coalición1 = Apoyado por
| partido1_coalición1 = [[Partido Justicialista]]
| partido2_coalición1 = [[Unión del Centro Democrático]]
| partido3_coalición1 = [[Partido Federal (1973)|Partido Federal]] <small>(Nacional)</small>
| partido4_coalición1 = [[Partido Conservador Popular (Argentina)|Partido Conservador Popular]]
| partido5_coalición1 = Movimiento Línea Popular
| partido6_coalición1 = ''Otros partidos''
| candidato1 = [[Carlos Menem]]
| color1 = {{Color político|Partido Justicialista}}
| partido1 = [[Partido Justicialista|PJ]]
| votos1 = 87.369
| votos1_ant = 87.369
| porcentaje1 = 55.33
<!-- José Octavio Bordón -->
| ancho2 = 64
| imagen2 = Archivo:José_Octavio_Bordón.png
| género2 = hombre
| candidato2 = [[José Octavio Bordón]]
| color2 = {{Color político|Frente País Solidario}}
| partido2 = [[Política Abierta para la Integridad Social|PAIS]]
| coalición2 = [[Frente País Solidario]]
| partido1_coalición2 = [[Partido Demócrata Cristiano (Argentina)|Partido Demócrata Cristiano]]
| partido2_coalición2 = Democracia Popular para el Frente Social
| partido3_coalición2 = [[Frente Grande]]
| partido4_coalición2 = [[Partido Intransigente]]
| partido5_coalición2 = [[Política Abierta para la Integridad Social]]
| partido6_coalición2 = [[Partido Socialista Democrático (Argentina)|Partido Socialista Democrático]]
| partido7_coalición2 = [[Partido Socialista Popular (Argentina)|Partido Socialista Popular]]<br>[[Cruzada Renovadora]]<br>Frente de Liberación 12 de Mayo
| votos2 = 39.944
| porcentaje2 = 25.30
<!-- Horacio Massaccesi -->
| ancho3 = 64
| imagen3 = File:Horacio_Massaccesi_1995.png
| género3 = hombre
| candidato3 = [[Horacio Massaccesi]]
| color3 = {{Color político|Unión Cívica Radical}}
| partido3 = [[Unión Cívica Radical|UCR]]
| coalición3 = Apoyado por
| partido1_coalición3 = [[Unión Cívica Radical]]
| partido2_coalición3 = [[Movimiento de Integración y Desarrollo]]
| partido3_coalición3 = [[Partido Federal (1973)|Partido Federal]] <small>(Córdoba)</small>
| votos3 = 27.038
| votos3_ant = 27.038
| porcentaje3 = 17.12
| mapa = File:San Luis 1995.png
| mapa_tamaño = 350px
| cargo = [[Archivo:Coat of arms of Argentina.svg|34px]]<br/>[[Presidente de la Nación Argentina]]
| predecesor = [[Carlos Menem]]
| partido_predecesor = [[Partido Justicialista|PJ]]/[[Frente Justicialista Popular|FREJUPO]]
| sucesor = [[Carlos Menem]]
| partido_sucesor = [[Partido Justicialista|PJ]]/[[Unión del Centro Democrático (Argentina)|UCeDé]]
}}
6ec8a093df5e5076e4082bcd3e8ca1182ec73d67
Archivo:San Luis 1995.png
6
91
179
2024-01-02T20:12:09Z
Superballing2008
2
San Luis 1995
wikitext
text/x-wiki
== Resumen ==
San Luis 1995
42ba7882110136111b722c0fb8cf02882edb7f2b